pyecharts的使用

pyecharts的使用

1.绘制柱状图

#导入包
from pyecharts.charts import Bar
from pyecharts import options
# 1.创建图表对象:Bar()
bar = Bar()
# 2.添加数据
# 1)添加x轴上的数据:bar.add_xaxis([])
bar.add_xaxis(["一季度", "二季度", "三季度", "四季度"])
# 添加y轴上的数据:与x轴的个数和顺序对应一致bar.add_yaxis("名称1",[])
bar.add_yaxis(
    "价格", [1000, 3450, 600, 2089],
    # 设置价格柱子的颜色
    color="red",
    # 柱子的宽度
    # bar_width=40,
    # 柱子的最大宽度最小宽度设置
    bar_min_width=40,
    bar_max_width=40
)
bar.add_yaxis(
    "销量", [200, 100, 300, 300],
    # 设置销量柱子的颜色
    color="green",
    # 柱子的最大宽度最小宽度设置
    bar_min_width=40,
    bar_max_width=40
)
bar.add_yaxis("利润", [4000, 5000, 4500, 3000])
# 3.柱状图相关的配置
# 1)全局配置
bar.set_global_opts(
    # 设置标题:options.TitleOpts()
    # is_show: bool = True是否显示
    # title_link: Optional[str] = None跳转链接
    # title_target: Optional[str] = "blank",在新的页面打开
    # subtitle: Optional[str] = None,副标题
    # pos_left: Optional[str],pos_right: Optional[str],pos_top: Optional[str],pos_bottom: Optional[str] = None设置标题的位置
    # text_align: str = "auto",标题文字对齐方式
    title_opts=options.TitleOpts(
        title="全年xxxx手机销售信息",
        subtitle='销售额和销量信息',
        pos_right=380,
        text_align="Center"
    ),
    # 设置图例
    # is_show: bool = True,是否显示
    # item_width 设置图例大小
    legend_opts=options.LegendOpts(
        is_show=True,
        pos_left=30,
        item_width=30,
        item_height=20,
    ),
    # 设置工具箱
    toolbox_opts=options.ToolboxOpts(
        is_show=True,
    ),
    # 设置区域缩放
    # range_start缩放范围
    datazoom_opts=options.DataZoomOpts(
        is_show=True,
    ),
    # x轴的名字
    xaxis_opts=options.AxisOpts(
        name="时间"
    ),
    # y轴的名字
    yaxis_opts=options.AxisOpts(
        name="销售额(万元)/销量(个)"
    )
)
# 2)系列配置
bar.set_series_opts(
    # 设置标签
    label_opts=options.LabelOpts(
        is_show=True,  # 是否显示
        position="top",  # 文字的位置top,left,right
        rotate=0  # 文字旋转角度
    ),
    # 设置标记最大值和最小值
    markpoint_opts=options.MarkPointOpts(
        data=[options.MarkPointItem(name="最大值", type_='max')]

    )

)
#  4.渲染图表(制图)
bar.render("files/01柱状图.html")

展示成果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vOG37Hu5-1677067838281)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230222194903807.png)]

2.绘制折线图

#导入包
from pyecharts.charts import Line
from pyecharts import options
# 1.创建折现图对象
line = Line()
# 2.添加数据
line.add_xaxis(["一季度", "二季度", "三季度", "四季度"])
line.add_yaxis("服装销售额", [189, 350, 290, 500],is_smooth=True )#is_smooth=True设置折线平滑
line.add_yaxis("手机销售额", [100, 170, 120, 201])
# 3.折线图图表设置
# 1)全局配置
line.set_global_opts(
    title_opts=options.TitleOpts(
        title="xxxx商场各大商品的销售情况",
        pos_left=350
    ),
    legend_opts=options.LegendOpts(
        is_show=True,
        pos_left=30,
        item_width=30,
        item_height=20,
    ),
    # x轴的名字
    xaxis_opts=options.AxisOpts(
        name="季度"
    ),
    # y轴的名字
    yaxis_opts=options.AxisOpts(
        name="销售额(万元)"
    )
)
# 2)系列配置
line.set_series_opts(
    label_opts = options.LabelOpts(
        is_show=True
    ),
    markline_opts = options.MarkLineOpts(
        data=[options.MarkLineItem(type_="average",name="平均销售额")]
    )
)
# 4.渲染图表(制图)
line.render("files/02折现图.html")

展示成果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sr4plNYf-1677067838283)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230222195237978.png)]

3.绘制饼图

from pyecharts.charts import Pie
from pyecharts import options

# 1.创建饼图对象
pie = Pie()
# 2.添加数据
pie.add(
    "手机销量", [('Apple', 900), ('Huawei', 1300), ('Xiaomi', 500), ('Oppo', 320), ('Vivo', 230), ('Meizu', 190)],
    radius=(20, 100),
    # radius=('30%', '100%'), # 分别设置圆的内圆半径和外圆半径
    rosetype='radius'  # 让外环半径的值由比列来决定,不规则形状
)

# 3.设置图表的配置
# 1)全局
pie.set_global_opts(
    legend_opts=options.LegendOpts(
        is_show=False,  # 隐藏图例
    ),
    title_opts=options.TitleOpts(
        title="xxx商城6月手机的销售情况",
        pos_left="350",
    )
)
pie.set_series_opts(
    label_opts=options.LabelOpts(
        formatter='{b}: {d}%'  # 标记占比{b}数据名称,{d}%百分比比值
    )
)




# 4.渲染图表
pie.render("files/03饼图.html")

展示成果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vjGv9BRz-1677067838284)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230222195318998.png)]

4.绘制地图

中国地图

from pyecharts.charts import Map
from pyecharts import options
# 1.创建地图对象
map1 = Map()

# 2.添加数据
map1.add(
    "中国各个省份房价平均值",
    [("四川省", 9230), ("重庆市", 20808), ("⼭东省", 15889), ("广东省", 71995), ('湖南省', 6738), ("湖北省", 5800), ('福建省', 49096),
     ('北京市', 67756), ("江苏省", 34000), ("吉林省", 7553), ('浙江省', 37773), ('云南省', 5460), ('青海省', 6450), ("甘肃省", 8844),
     ('山东省', 10450)],
    zoom=1.5,  # 设置默认的倍数
    min_scale_limit=0.8,  # 设置最小值缩小倍数
    max_scale_limit=1.5,  # 设置最大值放大倍数
)
# 3.添加配置
# 1)全局配置
map1.set_global_opts(
    visualmap_opts=options.VisualMapOpts(
        is_show=True,
        min_=5000,
        max_=80000,
        # 设置颜色分段
        is_piecewise=True,
        # 设置每一段的数值范围
        pieces=[{"min": 3000, "max": 6000},
                {"min": 6001, "max": 9000},
                {"min": 9001, "max": 13000},
                {"min": 13001, "max": 60000},
                {"min": 60001, "max": 70000},
                {"min": 70001, "max": 80000}
                ]
    ),
    # 设置图例
    legend_opts=options.LegendOpts(
        is_show=False,
    ),
    # 设置标题
    title_opts=options.TitleOpts(
        title="全国平均房价"
    )
)
#


# 4.渲染
map1.render("files/04地图.html")

成果展示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zLzczsev-1677067838285)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230222195816776.png)]

省份地图

from pyecharts.charts import Map
from pyecharts import options

# 1.创建地图对象
map2 = Map()

# 2.添加数据
map2.add("房价", [('成都市', 12000), ("乐山市", 6000)], maptype="四川", zoom=1.5,  # 设置默认的倍数
         min_scale_limit=0.8,  # 设置最小值缩小倍数
         max_scale_limit=1.5,  # 设置最大值放大倍数
         )

# 4.渲染
map2.render("files/05省份地图.html")

成果展示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MAPjTmyq-1677067838286)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230222195955717.png)]

市区地图

#市区地图
map3 =Map()
map3.add("房价", [('金堂', 12000)],maptype="成都")
map3.render("files/07成都地图.html")

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CDGuoLlN-1677067838287)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230222200016234.png)]

世界地图

from pyecharts.charts import Map
from pyecharts import options

# 1.创建地图对象
map3 = Map()
map3.add("房价",[("China",1002)],maptype='world')
map3.set_series_opts(
    label_opts=options.LabelOpts(
        is_show=False,
    )
)
map3.render("files/06世界地图.html")

成果展示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hx8Slibx-1677067838288)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230222195859201.png)]

5.词云

from pyecharts.charts import WordCloud
from pyecharts import options

# 1.创建图表
wc = WordCloud()
# 2.添加数据
wc.add("",
       [('王者荣耀', 834958), ('英雄联盟', 1928394), ('阴阳师', 2384), ('原神', 5647), ('羊了个羊', 45367), ('蛋仔派对', 3456), ("猎梦者", 345),
        ("红色警戒", 34562), ("魔兽", 68493), ("刀塔", 7483), ('qq农场', 98), ('金铲铲', 261726), ("神庙逃亡", 23728), ("节奏大师", 2033),
        ("找你妹", 90), ("大富翁", 459), ("保卫萝卜", 3673)],
       # 形状: cardioid(心形),diamond(菱形 正方形), star(星形),pentagon (五边形), triangle(三角形)
       shape="star",
       word_size_range=(5, 90)  #设置字体最小值和最大值
       )

# 3.渲染
wc.render("files/08词云.html")

成果展示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A3gFQ1ob-1677067838290)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230222195705991.png)]

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值