当前位置:   article > 正文

Python pyecharts 数据可视化_render_notebook

render_notebook

目录

 

一、生成HTML文件

二、在jupyter notebook中生成内嵌图表

三、生成图片

四、折线图绘制

五、柱状图绘制

六、折线图和柱状体的组合

七、 饼图

 九、散点图

十、 词云

十一、 地图


 pyecharts:python 调用echarts库

echarts 是开源的可视化工具 http://echarts.baidu.com

一、生成HTML文件

  1. from pyechart.chart import Bar #从pyechrt 中导入柱状图
  2. from pyechrts import options as opts #全局参数设置
  3. x = ['张三','李四','王五']
  4. y1 = [1140,550,270]
  5. y2 = [570,1340,1370]
  6. bar = Bar() # 示例对象
  7. bar.add_xaxis(xaxis_data=x) # x 轴坐标的数据
  8. bar.add_yaxis(series_name='平台-A',yaxis_data=y1) # 图例名称+y轴数据
  9. bar.add_yaxis(series_name='平台-B',yaxis_data=y2)
  10. bar.set_global_opts(title_opts=opts.TitleOpts(title='测试一下'))#全局变量设置
  11. # 生成HTML 文件
  12. bar.render(path='bar_test.html')
 

二、在jupyter notebook中生成内嵌图表

  1. from pyecharts.charts import Bar
  2. from pyecharts import options as opts
  3. # Bar 参数数据格式
  4. x = ['张三','李四','王五']
  5. y1 = [1140,550,270]
  6. y2 = [570,1340,1370]
  7. bar2 = Bar()
  8. bar2.add_xaxis(x)
  9. bar2.add_yaxis(series_name='平台-A',yaxis_data=y1) # 图例名称+y轴数据
  10. bar2.add_yaxis(series_name='平台-B',yaxis_data=y2)
  11. bar2.set_global_opts(title_opts=opts.TitleOpts(title='销售数量'))
  12. bar2.reversal_axis() # x 轴和y轴进行坐标轴的数据转化。 使用这个代码之后横向图表会展示成纵向图表
  13. bar2.render_notebook()
 

三、生成图片

使用这种方法生成图片需要进行环境变量的设置,以下是windows中的环境变量设置链接。

https://www.jianshu.com/p/dc0336a0bf50https://www.jianshu.com/p/dc0336a0bf50

四、折线图绘制

  1. #导入相关库
  2. import pyecharts.options as opts #全局变量设置
  3. from pyecharts.charts import Line #折线图
  4. #数据
  5. x = ['seaborn','matplotlib','plotly','pyecharts','python']
  6. y1 = [440,550,770,450,800]
  7. y2 = [570,1340,1370,1111,2222]
  8. #用函数来绘制图形
  9. c = Line()
  10. c.add_xaxis(xaxis_data=x) #x轴数值
  11. c.add_yaxis(series_name='',y_axis=y1) #y轴数值与标签设置
  12. c.add_yaxis(series_name='',y_axis=y2)
  13. #对工具箱中名称修改
  14. data_zoom = {
  15. "show":True,
  16. "title":{"zoom":"data zoom","back":"data zoom restore"}
  17. }
  18. #set_global_opts全局变量设置
  19. c.set_global_opts(
  20. title_opts=opts.TitleOpts(title='测试数据'), #图表标题
  21. legend_opts=opts.LegendOpts(is_show=True), #图例为True时展示
  22. tooltip_opts=opts.TooltipOpts(trigger='axis',axis_pointer_type='cross'), #触发类型,就是鼠标悬停在图表上时显示的内容
  23. toolbox_opts=opts.ToolboxOpts(is_show=True,orient='horizontal',
  24. feature=opts.ToolBoxFeatureOpts(data_zoom=data_zoom))#显示工具箱(下载图片、转换图形为柱状图、刷新等)
  25. )
  26. c.render_notebook() #在jupyter notebook中生成图形
 

五、柱状图绘制

  1. #导库
  2. from pyecharts import options as opts
  3. from pyecharts.charts import Bar
  4. #数据
  5. x = ['Python 数据可视化 seaborn','Python 数据可视化 plotly','Python 数据可视化 pyecharts']
  6. y1 = [1140,559,270]
  7. y2 = [570,1340,1370]
  8. # 创建Bar 示例对象,同时x,y轴数据填充
  9. bar = Bar(init_opts=opts.InitOpts(width='1000px',height='600px')) #设置图表的大小 init_opts
  10. bar.add_xaxis(xaxis_data=x)
  11. bar.add_yaxis(series_name='',yaxis_data=y1)
  12. # bar 设置坐标轴的反转操作
  13. bar.reversal_axis()
  14. # 设置全局参数
  15. bar.set_global_opts(
  16. title_opts=opts.TitleOpts(title='测试数据'),
  17. yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=65)), #文字倾斜度
  18. legend_opts=opts.LegendOpts(is_show=True), # 展示图例默认为 True
  19. datazoom_opts=opts.DataZoomOpts(type_='slider',range_start=0,range_end=1500) #设置区域缩放配置
  20. )
  21. # 展示图表
  22. bar.render_notebook()
  23. bar.render_notebook()
 

六、折线图和柱状体的组合

  1. from pyecharts import options as opts
  2. from pyecharts.charts import Bar,Line
  3. x = ['Python','Seaborn','Plotly','pyecharts']
  4. # 绘制柱状图方法
  5. y1 = [1140, 559, 270,1200]# 数据1
  6. y2 = [570,1340,1370,900] # 数据2
  7. bar = Bar(init_opts=opts.InitOpts(width='1000px',height='600px'))
  8. bar.add_xaxis(xaxis_data=x)
  9. bar.add_yaxis(series_name='数据1',yaxis_data=y1,label_opts=opts.LabelOpts(is_show=True))
  10. bar.add_yaxis(series_name='数据2',yaxis_data=y2,label_opts=opts.LabelOpts(is_show=False))
  11. bar.set_global_opts(title_opts=opts.TitleOpts(title='测试数据'))
  12. # bar 扩展
  13. bar.extend_axis(
  14. yaxis=opts.AxisOpts(
  15. name='价格',
  16. type_='value',
  17. min_=0,
  18. max_=200,
  19. interval=10,
  20. axislabel_opts=opts.LabelOpts(formatter='{value} 吨')) # value
  21. )
  22. # 绘制Line 方法
  23. y = [159,29,49,79]
  24. c = Line()
  25. c.add_xaxis(xaxis_data=x)
  26. c.add_yaxis(series_name='重量',yaxis_index=1,y_axis= y,label_opts=opts.LabelOpts(is_show=False))
  27. # Bar + Line
  28. bar = bar
  29. line = c
  30. bar.overlap(line).render_notebook() #柱状体和折线图的组合
  31. #bar.render_notebook()
  32. #bar.overlap(line).render()
 

七、 饼图

  1. # 导入库
  2. from pyecharts.charts import Pie
  3. from pyecharts import options as opts
  4. #数据
  5. x_data = ['张三','李四','王五','赵六']
  6. y_data = [830,214,300,1100]
  7. # Pie 设置指定的格式
  8. data_pair = [list(z) for z in list(zip(x_data,y_data))] # [['张三', 830], ['李四', 214], ['王五', 300], ['赵六', 1100]]
  9. c = Pie(init_opts=opts.InitOpts(width='500px',height='500px'))
  10. c.add(series_name='访问来源',data_pair=data_pair,radius=['40%','75%']) #radius 讲饼图展示位环形图
  11. # 设置全局项
  12. c.set_global_opts(title_opts=opts.TitleOpts(title='测试数据',pos_left='center',pos_top=20),
  13. legend_opts=opts.LegendOpts(orient='vertical',pos_top='15%',pos_left='2%')) #图例
  14. # 设置每项数据占比
  15. c.set_series_opts(tooltip_opts=opts.TooltipOpts(trigger='item',formatter="{a} <br/> {b}:{c} ({d}%)")) #formatter 图表悬停时数据展示格式化
  16. c.render_notebook()
 

 九、散点图

  1. #导入库
  2. from pyecharts.charts import Scatter
  3. from pyecharts import options as opts
  4. import numpy as np
  5. #导入数据
  6. x_data = np.linspace(0,10,30)
  7. y1 = np.sin(x_data)
  8. y2 = np.cos(x_data)
  9. figsize = opts.InitOpts(width='800px',height='300px')
  10. scatter = Scatter(init_opts=figsize)
  11. scatter.add_xaxis(xaxis_data=x_data)
  12. scatter.add_yaxis(
  13. series_name='y = sin(x) 函数散点图', # 图例名称
  14. y_axis = y1,#数据
  15. label_opts=opts.LabelOpts(is_show=False),
  16. symbol_size=20 # 控制散点图 点的大小
  17. )# 设置 数据点是否展示
  18. scatter.add_yaxis(
  19. series_name='y = cos(x) 函数散点图',
  20. y_axis = y2,
  21. label_opts=opts.LabelOpts(is_show=False)
  22. )
  23. scatter.set_global_opts(title_opts=opts.TitleOpts(title='散点图',pos_top='20px',pos_left='center'))
  24. scatter.render_notebook()
 

 

十、 词云

  1. #导入库
  2. import pyecharts.options as opts
  3. from pyecharts.charts import WordCloud
  4. #数据
  5. data = [
  6. ('python',4583345),
  7. ('excel',2324539),
  8. ('人工智能',2296099),
  9. ('机器学习',1376545),
  10. ('深度学习',1337607),
  11. ('mysql',4583345),
  12. ('数据',5324539),
  13. ('数据分析',3296099),
  14. ('数据挖掘',1376545)
  15. ]
  16. c = WordCloud()
  17. c.add(series_name='图表',data_pair=data)
  18. c.set_global_opts(title_opts=opts.TitleOpts(title='热词展示'))
  19. c.render_notebook()

十一、 地图

  1. #在开始使用之前需要先安装对应的地图文件
  2. pip3 install pyecharts
  3. pip3 install echarts-countries-pypkg
  4. pip3 install echarts-china-provinces-pypkg
  5. pip3 install echarts-china-cities-pypkg
 
 
  1. #导入库 pyecharts: 1.x
  2. from pyecharts import options as opts
  3. from pyecharts.charts import Geo
  4. from pyecharts.globals import ChartType
  5. import pyecharts
  6. import warnings
  7. warnings.filterwarnings('ignore')
  8. #绘制地图
  9. data = [['广东',104320459],['山东',95792719],['河南',94029939]]
  10. c = Geo()
  11. c.add_schema(maptype='china',is_roam=False,label_opts=opts.LabelOpts(is_show=True))
  12. c.add('geo',data,type_=ChartType.EFFECT_SCATTER,symbol_size=12,symbol='pin')
  13. c.set_global_opts(title_opts=opts.TitleOpts(title='测试数据'),legend_opts=opts.LegendOpts(is_show=True))
  14. c.render_notebook()
  15. c.render_notebook()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/165098
推荐阅读
相关标签
  

闽ICP备14008679号