pyecharts全家桶,一招学会python可视化

Python绿色通道

共 8143字,需浏览 17分钟

 ·

2021-01-18 13:16

↑ 关注 + 星标 ,每天学Python新技能

后台回复【大礼包】送你Python自学大礼包


pyecharts一直被誉为python可视化的神器,因为它只需较少的代码既可以绘制非常漂亮的图形

今天主要分享一下pyecharts的常见绘图方法,并把官方中文文档.pdf送给大家

1.利用Bar绘制柱状图

from pyecharts.charts import Bar
from pyecharts import options as opts
bar = ( Bar()
       .add_xaxis(["衬衫""毛衣""领带""裤子""风衣"
"高跟鞋""袜子"])
       .add_yaxis("商家A", [114552710112527105])
       .set_global_opts(title_opts = opts.TitleOpts(title = "某商场销售情况")) )
bar.render_notebook()



2.并列柱状图绘制

from pyecharts.charts import Bar
from pyecharts import options as opts
bar = Bar()
bar.add_xaxis(["衬衫""毛衣""领带""裤子""风衣""高跟鞋""袜子"])
bar.add_yaxis("商家A", [114552710112527105])
bar.add_yaxis("商家B", [571341371291456049])
bar.set_global_opts(title_opts = opts.TitleOpts(title = "货品销售情况",subtitle  =  "A和B公司"))
bar.render_notebook()


3.绘制水平直方图

from pyecharts.charts import Bar
from pyecharts import options as opts
bar = Bar()
bar.add_xaxis(["衬衫""毛衣""领带""裤子""风衣""高跟鞋""袜子"])
bar.add_yaxis("商家A", [114552710112527105])
bar.add_yaxis("商家B", [571341371291456049])
bar.set_global_opts(title_opts=opts.TitleOpts(title="货品销售情况",subtitle = "A和B公司"),toolbox_opts = opts.ToolboxOpts(is_show = True))
bar.set_series_opts(label_opts=opts.LabelOpts(position = "right"))
bar.reversal_axis()
bar.render_notebook()


4.饼图绘制

# from example.commons import Faker
from pyecharts import options as opts
from pyecharts.charts import Page, Pie
L1=['教授','副教授','讲师','助教','其他']
num  = [20,30,10,12,8]
c = Pie()
c.add("", [list(z) for z in zip(L1,num)])
c.set_global_opts(title_opts=opts.TitleOpts(title="Pie-职称类别比例"))
c.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
c.render_notebook()


5.圆形饼图绘制


from pyecharts import options as opts
from pyecharts.charts import Page, Pie
wd = ['教授','副教授','讲师','助教','其他']
num = [20,30,10,12,8]
c = Pie()
c.add("",[list(z) for z in zip(wd, num)],radius = ["40%""75%"])   
c.set_global_opts( title_opts=opts.TitleOpts(title="Pie-Radius"),legend_opts=opts.LegendOpts( orient="vertical", pos_top="5%", pos_left="2%" ))
c .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
c.render_notebook()


6.圆形饼图中的rich参数应用

from pyecharts import options as opts
from pyecharts.charts import Page, Pie
wd = ['教授','副教授','讲师','助教','其他']
num = [20,30,10,12,8]
c = Pie()
c.add("",[list(z) for z in zip(wd, num)],radius=["40%""55%"],
       label_opts=opts.LabelOpts(position="outside",
       formatter="{a|{a}}{abg|}\n{hr|}\n{b|{b}:}{c}  {per|{d}%} ",
       background_color="#eee",border_color="#aaa",
       border_width=1,border_radius=4,
       rich={"a": {"color""#999""lineHeight"22"align"
"center"},"abg": {"backgroundColor""#e3e3e3","width""100%""align""right""height"22,"borderRadius": [4400],}, "hr": {"borderColor""#aaa""width""100%",
"borderWidth"0.5"height"0,}, "b": {"fontSize"16"lineHeight"33},"per": {"color""#eee",
"backgroundColor""#334455",                        "padding": [24],"borderRadius"2,} } ))
c.set_global_opts(title_opts=opts.TitleOpts(title="Pie-富文本示例"))
c.render_notebook()


7.玫瑰图绘制


from pyecharts import options as opts
from pyecharts.charts import Page, Pie
data1 = [45,86,39,52,68]
data2 = [67,36,64,89,123]
labels = ['电脑','手机','彩电','冰箱','洗衣机']
c = Pie()
c.add("",[list(z) for z in zip(labels, data1)],radius=["35%""70%"],center=[180,220],rosetype='radius')
c.add("",[list(z) for z in zip(labels, data2)],radius=["35%""70%"],center=[550,220],rosetype='area')
c.set_global_opts(title_opts=opts.TitleOpts(title="玫瑰图"))
c.render_notebook()


8.漏斗图绘制

from pyecharts.charts import Funnel
from pyecharts import options as opts
%matplotlib inline
data = [45,86,39,52,68]
labels = ['电脑','手机','彩电','冰箱','洗衣机']
wf = Funnel()
wf.add('电器销量图',[list(z) for z in zip(labels, data)], is_selected= True)
wf.render_notebook()


9.散点图绘制

from pyecharts import options as opts
from pyecharts.charts import Scatter
week = ["周一""周二""周三""周四""周五""周六""周日"]
c = Scatter()
c.add_xaxis(week)
c.add_yaxis("商家A", [81,65,48,32,68,92,87])
c.set_global_opts(title_opts=opts.TitleOpts(title="Scatter-一周的销售额(万元)"))
c.render_notebook()


10.K线图绘制

from pyecharts import options as opts
from pyecharts.charts import Kline
data = [[2320.262320.262287.32362.94],
        [23002291.32288.262308.38],
        [2295.352346.52295.352345.92],
        [2347.222358.982337.352363.8], 
        [2360.752382.482347.892383.76],
        [2383.432385.422371.232391.82],
        [2377.412419.022369.572421.15],
        [2425.922428.152417.582440.38],
        [24112433.132403.32437.42],
        [2432.682334.482427.72441.73],
        [2430.692418.532394.222433.89],
        [2416.622432.42414.42443.03],  
        [2441.912421.562418.432444.8],
        [2420.262382.912373.532427.07],   
        [2383.492397.182370.612397.94],
        [2378.822325.952309.172378.82], 
        [2322.942314.162308.762330.88],
        [2320.622325.822315.012338.78],  
        [2313.742293.342289.892340.71],
        [2297.772313.222292.032324.63], 
        [2322.322365.592308.922366.16],
        [2364.542359.512330.862369.65], 
        [2332.082273.42259.252333.54], 
        [2274.812326.312270.12328.14], 
        [2333.612347.182321.62351.44], 
        [2340.442324.292304.272352.02], 
        [2326.422318.612314.592333.67],
        [2314.682310.592296.582320.96], 
        [2309.162286.62264.832333.29], 
        [2282.172263.972253.252286.33], 
        [2255.772270.282253.312276.22] ]
c = Kline()
c.add_xaxis(["2019/7/{}".format(i + 1for i in range(31)])
c.add_yaxis("2019年7月份K线图", data)
c.set_global_opts(yaxis_opts=opts.AxisOpts(is_scale=True),
            xaxis_opts=opts.AxisOpts(is_scale=True),
            title_opts=opts.TitleOpts(title="Kline-基本示例"),)
c.render_notebook()


11.仪表盘图绘制

from pyecharts import options as opts
from pyecharts.charts import Gauge, Page
c = Gauge()
c.add("业务指标",[("完成率"55.5)],axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color=[(0.3"#67e0e3"),
 (0.7"#37a2da"), (1"#fd666d")], width=30)))
c.set_global_opts(title_opts=opts.TitleOpts(title="Gauge-不同颜色"),
 legend_opts=opts.LegendOpts(is_show=False)) 
c.render_notebook()


12.词云绘制

from pyecharts import options as opts
from pyecharts.charts import Page, WordCloud
from pyecharts.globals import SymbolType
words = [
    ("牛肉面"7800),("黄河"6181),
    ("《读者》杂志"4386), ("甜胚子"3055),
    ("甘肃省博物馆"2055),("莫高窟"8067),("兰州大学"4244),
    ("西北师范大学"1868),("中山桥"3484),
    ("月牙泉"1112),("五泉山"980),
    ("五彩丹霞"865),("黄河母亲"847),("崆峒山",678),
    ("羊皮筏子"1582),("兴隆山",868),
    ("兰州交通大学"1555),("白塔山"2550),("五泉山"2550)]
c = WordCloud()
c.add("", words, word_size_range=[2080])
c.set_global_opts(title_opts=opts.TitleOpts(title="WordCloud-基本示例"))
c.render_notebook()


13.在指定地图上的城市标示某天最高温度

from pyecharts import options as opts
from pyecharts.charts import Map
temperature=[30,31,27,29,18]
loc = ['兰州市','天水市','白银市','武威市','甘南藏族自治州']
c =  Map()
c.add("甘肃省", [list(z) for z in zip(loc, temperature)], "甘肃",is_roam=True
c .set_global_opts(title_opts=opts.TitleOpts(title="甘肃省部分城市最高气温"))
c.render("APP类型.html")
c.render_notebook()

14.组合图表上下布局

from pyecharts import options as opts
from pyecharts.charts import Bar, Grid, Line,Scatter
A = ["小米""三星""华为""苹果""魅族""VIVO""OPPO"]
CA = [100,125,87,90,78,98,118]
B = ["草莓""芒果""葡萄""雪梨""西瓜""柠檬""车厘子"]
CB = [78,95,120,102,88,108,98]
bar = Bar()
bar.add_xaxis(A)
bar.add_yaxis("商家A",CA)
bar.add_yaxis("商家B", CB)
bar.set_global_opts(title_opts=opts.TitleOpts(title="Grid-Bar"))
bar.render_notebook()
line=Line()
line.add_xaxis(B)
line.add_yaxis("商家A", CA)
line.add_yaxis("商家B", CB)
line.set_global_opts(title_opts=opts.TitleOpts(title="Grid-Line", pos_top="48%"),
legend_opts=opts.LegendOpts(pos_top="48%"))
line.render_notebook()
grid = Grid()
grid.add(bar, grid_opts=opts.GridOpts(pos_bottom="60%"))
grid.add(line, grid_opts=opts.GridOpts(pos_top="60%"))


End

见面礼


码加我微信备注「三剑客」送你上图三本Python入门电子书


推荐阅读


  1. 突发!美团又摊上事儿了...

  2. 深圳一普通中学老师工资单曝光,秒杀程序员,网友:酸了酸了

  3. 百度网盘新规发布:将收回已获得的免费空间


点分享
点收藏
点点赞
点在看
浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报