数据可视化Pyecharts之柱状图,折线图,饼图玫瑰图


柱状图

  • X轴数["SPSS与统计学分析","Python数据分析实战","SQL数据分析","Python可视化分析(Pyecharts)","问卷与量表数据分析",]
    Y轴数据书店A为[253, 332, 179, 202, 88],以标记线标记住最大最小值;书店B为[200, 160, 120, 289, 105]
from pyecharts import Bar

book = ["SPSS与统计学分析","Python数据分析实战","SQL数据分析","Python可视化分析(Pyecharts)","问卷与量表数据分析",]
v1 = [253, 332, 179, 202, 88]
v2 = [200, 160, 120, 289, 105]

bar = Bar("大数据相关书籍销量情况","2019/5/28",title_pos="center",width=700)
#width,height设置整体宽度 page_title网页标题
bar.add("书店A",book,v1,legend_pos="left",mark_line=['min','max'],is_label_show=True,bar_category_gap="50%")
bar.add("书店B",book,v2,legend_pos="left",xaxis_rotate=15,mark_line=['min','max'],is_label_show=True,bar_category_gap="50%",legend_orient="vertical")

#xaxis_rotate为x轴文字倾斜 is_label_show显示y轴数据 mark_line显示标记最大最小值 bar_category_gap用于缩小柱状图宽度 legend_orient用于图例标签排列方向默认horizontal is_convert=True表示交换x、y轴

bar.render("bar1.html")
  • 生成如图所示,成品链接bar.png

折线图

  • X轴数据["周一","周二","周三","周四","周五","周六","周日"]
    Y轴最高气温对应数据为[11, 11, 15, 13, 12, 13, 10];最低气温对应数据为[1, -2, 2, 5, 3, 2, 0]
    最高气温要求以尖角图形标记出最大最小值,并且以标记线标记出平均值;最低气温在标记出最大最小值得同时还需要标记出点['周日', 0],并说明"周日最低温度是零度",并且以标记线标记出平均值

    from pyecharts import Line
    
    days = ["周一","周二","周三","周四","周五","周六","周日",]
    
    c_max = [11, 11, 15, 13, 12, 13, 10]
    c_min = [1, -2, 2, 5, 3, 2, 0]
    
    line = Line("折线图示例",page_title="折线图示例")
    line.add("最高气温",days,c_max,mark_line=["average"],
         mark_point=["max","min"],mark_point_symbolsize=40,mark_point_symbol=["arrow"])
    line.add("最低气温",days,c_min,mark_line=["average"],
         mark_point=["max","min",{"coord":["周日",0],"name":"周日最低温度是零度"}],
         yaxis_formatter="°C")
    
    #mark_line标记线 mark_point标记点,若标记特殊点'coord'对应为 x y 轴坐标,'name'为标记点名称
    #mark_point_symbol标记点图形 mark_point_symbolsize标记点图形大小
    #yaxis_formatter用于y轴加类似于单位之类的东西
    
    line.render("line1.html")
    
  • 生成如图所示,成品链接line.png

玫瑰图饼图

  • 外侧环形图属性为['A', 'B', 'C', 'D', 'E', 'F'],对应数据使用random.randint(0, 100)产生六个随机数(列表表达式)
    内侧玫瑰图属性为['G', 'H', 'I', 'J'],对应数据使用random.randint(20, 80)产生4个随机数(列表表达式)
from pyecharts import Pie
from random import randint


v1 = ['A', 'B', 'C', 'D', 'E', 'F']
v2 = ['G', 'H', 'I', 'J']
#from random import randint
#[randint(0, 100) for _ in range(6)] 生成一组六个随机数,简单方法,重点!

pie = Pie("饼图示例",page_title="饼图玫瑰图示例")
pie.add("外侧",v1,[randint(0, 100) for _ in range(6)],radius=[40,55],center=[25,50])
pie.add("内侧",v2,[randint(20, 80) for _ in range(4)],radius=[0,30],rosetype="radius",center=[25,50])
pie.add("外侧",v1,[randint(0, 100) for _ in range(6)],radius=[40,55],center=[75,50])
pie.add("内侧",v2,[randint(20, 80) for _ in range(4)],radius=[0,30],rosetype="area",center=[75,50])
#radius为饼图半径 rosetype为玫瑰图样式"area"为均分圆心角,默认"radius"
#center为圆心坐标
pie.render("pie1.html")
  • 生成如图所示,成品链接pie.png

声明:芫荽 Blog|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 数据可视化Pyecharts之柱状图,折线图,饼图玫瑰图


天若有情天亦老,人间正道是沧桑!