1.下载安装pyecharts

cmd输入

pip install pyecharts

如果是用的pycharm可以直接在Terminal中输入
(如果上述命令没有效果的话,可用下面的命令)

2、学习pyecharts

Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。

1. 导入库

#导入配置模块
from  pyecharts import options as  opts导入饼图模块
from pyecharts.charts import Pie导入主题模块
from pyecharts.globals import ThemeType导入柱状图模块
from  pyecharts.charts import Bar导入折线图模块
from  pyecharts.charts import  Line导入折线图模块
from  pyecharts.charts import  *

导入dandas
import pandas as pd

2. 加载数据

data=pd.read_excel('./疫情历史数据.xls')
print(data)

3.准备横轴数据

#pyecharts 不支持 其他类型--->int、float、bool、dict、str、list
#将时间列转化为字符串
data.loc[:,'时间']=data.loc[:,'时间'].astype('str')
print(data.loc[:,'时间'])
x_data=data.loc[:,'时间'][::-1].values.tolist()
print(x_data)

4.准备纵轴数据

#死亡数
death_num=data.loc[:,'死亡数'][::-1].values.tolist()
#确诊人数
ensue_num=data.loc[:,'确诊数'][::-1].values.tolist()
#治愈人数
crued_num=data.loc[:,'治愈数'][::-1].values.tolist()
#疑似人数
suspect_num=data.loc[:,'疑似数'][::-1].values.tolist()

一.使用 bar 绘制死亡数和治愈数的柱状图

a、实例化bar对象

bar=Bar()

b、添加数据

#增加横轴数据
bar.add_xaxis(xaxis_data=x_data)
#增加纵轴数据
bar.add_yaxis(series_name='死亡数',y_axis=death_num,yaxis_index=1,
).add_yaxis(series_name='治愈数',y_axis=crued_num,yaxis_index=2, #使用的y轴的index,在单个图表实例中存在多个y轴的时候有用
)
# c.添加 额外的坐标轴
bar.extend_axis(# 对y轴配置yaxis=opts.AxisOpts(type_='value',#value 代表数据轴 ,category 代表类目轴,time代表时间轴name='死亡数', #轴的名称is_show=True,#展示该轴min_=0, #轴刻度的最小值max_=1300,#轴刻度的最大值position='right',# 轴线配置axisline_opts=opts.AxisLineOpts(is_show=True,#显示轴线# 轴线风格linestyle_opts=opts.LineStyleOpts(color='#a5a391',)),#     轴线对应的标签axislabel_opts=opts.LabelOpts(formatter='{value}', #轴线对应的标签 ----{value}---数据))
)bar.extend_axis(# 对y轴配置yaxis=opts.AxisOpts(type_='value',#value 代表数据轴 ,category 代表类目轴,time代表时间轴name='治愈数', #轴的名称is_show=True,#展示该轴min_=0, #轴刻度的最小值max_=1300,#轴刻度的最大值position='right',offset=50,  #轴线偏移# 轴线配置axisline_opts=opts.AxisLineOpts(is_show=True,  # 显示轴线# 轴线风格linestyle_opts=opts.LineStyleOpts(color='#fd5956',)),#     轴线对应的标签axislabel_opts=opts.LabelOpts(formatter='{value}',  # 轴线对应的标签 ----{value}---数据)))
bar.extend_axis(# 对y轴配置yaxis=opts.AxisOpts(type_='value',name='确诊数',position='left',min_=0,max_=30000,# 轴线配置axisline_opts=opts.AxisLineOpts(is_show=True,  # 显示轴线# 轴线风格linestyle_opts=opts.LineStyleOpts(color='#fd5956',)),#     轴线对应的标签axislabel_opts=opts.LabelOpts(formatter='{value}',  # 轴线对应的标签 ----{value}---数据))
)

d.添加全局配置

bar.set_global_opts(title_opts=opts.TitleOpts(title='中国疫情变化趋势',#标题subtitle='中共就业调研室',#子标题# 设置标题样式subtitle_textstyle_opts=opts.TextStyleOpts(font_size=12,width=1.5,
    ),pos_left='3%',#title位置pos_top='5%'
),
# 图例设置
legend_opts=opts.LegendOpts(pos_top='7%', #图例位置pos_left='25%',
),
# 提示款
tooltip_opts=opts.TooltipOpts(trigger='axis',  # 'axis': 坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用axis_pointer_type='cross',  # 'cross':十字准星指示器。其实是种简写,表示启用两个正交的轴的 axisPointer。
),
# 对纵轴的全局配置
yaxis_opts=opts.AxisOpts(type_='value',name='疑似数',position='right',min_=0,max_=30000,offset=100,# 轴线配置axisline_opts=opts.AxisLineOpts(is_show=True,  # 显示轴线# 轴线风格linestyle_opts=opts.LineStyleOpts(color='#fed0fc',)),#     轴线对应的标签axislabel_opts=opts.LabelOpts(formatter='{value}',  # 轴线对应的标签 ----{value}---数据)
),# 插入文本框
graphic_opts=opts.GraphicGroup(# 图形的配置项graphic_item=opts.GraphicItem(# 控制整体的位置-right="50px",top="300px"),children=[# 配置文本opts.GraphicText(# 配置文本的位置graphic_item=opts.GraphicItem(left='center',top='middle',z=100,#显示位置scale=[1.2,1.2], #表示缩放),graphic_textstyle_opts=opts.GraphicTextStyleOpts(text='直到{},\n全国的新冠肺炎病毒的相关信息为:\n''死亡病例为{}例,\n''治愈病例为{}例\n''确诊病例为{}例\n''疑似病例为{}例,专家呼吁\n广大市民积极配合国家政策进行疫情防护工作'.format(data.loc[0,'时间'],data.loc[0,'死亡数'],data.loc[0,'治愈数'],data.loc[0,'确诊数'],data.loc[0,'疑似数']),font='15px Microsoft YaHei',text_align='left',text_vertical_align='middle', #垂直对齐方式# 图形基本配置项graphic_basicstyle_opts=opts.GraphicBasicStyleOpts(fill='back',#颜色line_width=1.2, #字体的宽度))),]
)

)

e.添加系列配置

bar.set_series_opts(label_opts=opts.LabelOpts(is_show=True),#显示标签
)

二.绘制折线图

#绘制
line_ensur=Line()

1、 绘制 确诊数折线图

#添加横轴
line_ensur.add_xaxis(x_data)#添加纵轴
line_ensur.add_yaxis(series_name='确诊数',y_axis=ensue_num,color='#4b0101',label_opts=opts.LabelOpts(is_show=False,),# 线配置linestyle_opts=opts.LineStyleOpts(width=1.2,color='#4b0101',))

2.绘制 疑似折线图

line_suspect=Line()
#a.添加横轴
line_suspect.add_xaxis(x_data)#b.添加纵轴
line_suspect.add_yaxis(series_name='疑似数',y_axis=suspect_num,color='#fed0fc',yaxis_index=3,# 标签配置label_opts=opts.LabelOpts(is_show=False),# 线配置linestyle_opts=opts.LineStyleOpts(width=1.2,color='#fed0fc'))

3.将 折线图 与 柱状图进行组合 —Overlap

all=bar.overlap(line_ensur).overlap(line_suspect)

a.组合

aa=Grid(#画布配置init_opts=opts.InitOpts(width="1500px",  #图的大小height='650px',))
aa.add(all,#网格配置grid_opts=opts.GridOpts(pos_top="20%",pos_left="5%",pos_right="40%",),# 索引is_control_axis_index=True #控制索引)

b.生成html

aa.render('./疫情数据.html')

c.总结

1、绘制2个柱状图 —应该添加 3个新纵轴、 修改1个原来的纵轴(全局配置项)

2、绘制1个折线图
3、再绘制1个折线图
4、overlap 组合 ----层叠
5、控制 多个图表大小、主题 —overlap组合多个图表 加入到 Grid组合
6、全局配置项里面—配置相关文本

效果图展示

Pyecharts之折线图与柱状图组合绘制相关推荐

  1. python 柱状图折线图共用一个图例_使用python的seaborn绘制折线图与柱状图的组合图...

    前言 今天入职,小组长给我们布置了数据可视化的作业,让大家浏览一个可视化系统,然后找到三个结论,其实很简单,但是自己又拓展一点.然后需要画一个折线图与柱状图的组合图,下面是我的代码和结果.11 代码# ...

  2. JAVA中柱状图和折线图组合,分组折线图、柱状图实现(多条折线图、柱状图同时显示)实现方式...

    使用MPAndroidChartLibery实现分组折线图和柱状图. 一.实现步骤:  1.同样需要 引入mpandroidchartlibrary-2-1-6.jar :下载地址及介绍见Androi ...

  3. Java使用Poi实现导出Word段落以及表格,XWPFParagraph和XWPFRun详解,生成目录,生成折线图、柱状图、饼状图

    导出段落 public void exportSummarizeWord(HttpServletResponse response, Integer id) {Summarize summarize ...

  4. python画柱状图和折线图-Python读取Excel表格,并同时画折线图和柱状图的方法

    今日给大家分享一个Python读取Excel表格,同时采用表格中的数值画图柱状图和折线图,这里只需要几行代码便可以实. 首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后 ...

  5. Python使用折线图、柱状图、热力图比较不同班级相同学号学生的成绩

    问题描述:有些学校的学号最后两位是根据入学成绩顺序排的,那么入学之后同学们的学习状态是否会有变化呢,入学成绩较好的同学是否能够一直保持优势呢,会不会有同学是高考时没有发挥好而入学之后才暴露出真实实力呢 ...

  6. python导入数据画折线图_Python读取Excel表格,并同时画折线图和柱状图的方法

    今日给大家分享一个Python读取Excel表格,同时采用表格中的数值画图柱状图和折线图,这里只需要几行代码便可以实. 首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后 ...

  7. MATLAB | 绘图复刻(二) | 折线图+误差棒+柱状图+散点抖动+灰色背景+图片叠加

    看到gzh R语言ggplot2科研绘图发布了一篇绘图复刻类文章,复刻了: Nature(IF=49.962)文章(Gut microbiota modulates weight gain in mi ...

  8. Matplotlib基础02:散点图、折线图与柱状图

    Matplotlib基础02:散点图.折线图与柱状图 散点图 散点图Scatter: 是数据点在直角坐标系中的分布图,可以让我们对数据分析规律,得到数据变化的趋势,进而进行数据分组. API:scat ...

  9. 分组折线图、柱状图实现(多条折线图、柱状图同时显示)实现方式

    使用MPAndroidChartLibery实现分组折线图和柱状图. 一.实现步骤: 1.同样需要 引入mpandroidchartlibrary-2-1-6.jar :下载地址及介绍见Android ...

  10. Vue中引入echarts的步骤,折线图、柱状图、饼图的常用配置项

    vue中引入echarts 一.安装echarts 二.引入echarts 1.全局引入 2.局部引入 三.vue中使用echarts 1.准备好函数 2.准备一个容器来放echarts 3.初始化容 ...

最新文章

  1. Linux五种IO模型性能分析
  2. 《构建之法》读后感之项目计划
  3. sencha touch 模仿tabpanel导航栏TabBar(2013-11-7)
  4. 远程下层文档 正在打印_奉贤金汇高速复印机出租一站式服务,上海区专业高速打印机出租...
  5. 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (下)
  6. 使用代码批量激活inactive object
  7. CentOS7安装Docker与使用篇
  8. P7276-送给好友的礼物【dp】
  9. 【文末有赠书】从历史角度讲现代数学
  10. 狐狸抓老鼠,为何东北向才会成功
  11. ant design 时间控件清空值
  12. fiddler限速_基于fiddler来模拟限速
  13. 采购者具体负责的问题
  14. MyBatis第N+1种分页方式,全新的MyBatis分页
  15. 静一静,做好人生的减法
  16. python 连接数据库导数_python – 使用MongoDB聚合框架计算一阶导数
  17. GEE开发之Modis_NPP数据分析和获取
  18. 苹果主题商店_苹果手机怎么换铃声?全网最简单的教程来了,小白秒学会
  19. 一分钟让你学会做搜索关键字高亮
  20. 刚安装好的CAD一定要做这几个优化设置

热门文章

  1. “那个人样子好怪。”“我也看到了,他好像一条狗。”
  2. Ps的变换、蒙版与色彩平衡
  3. python 读取pdf图片_三种方法,Python轻松提取PDF中全部图片
  4. 【3ds Max】 - 如何使用分布式渲染?
  5. 二级域名间相互请求 ajax跨域请求
  6. 结构体数组 初始化(转)
  7. 关于无线网络的静态ip与动态ip设置
  8. python的拼音_Python之拼音拆分
  9. Altium20版本快速批量修改Comment使之与Value相同
  10. 如何将mac中文输入法(搜狗等)设置成默认输入法