问题/背景

最近因科研需要,开始浅浅学习pyecharts,并记录在这个过程遇到的问题以及简单的解决办法。

在使用pyecharts画组合图时遇到了折线图的点无法对准柱状图中心的问题,在网上的文章只找到使用echarts设置折线图的点对准柱状图中心,然而echarts的方法无法照搬到pyecharts,查阅官方文档的示例折线图的点也同样是偏移的,故展示组合图绘画以及如何让折线图点画在柱状图中心的简单示例。

导入库

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

数据准备

准备横轴数据

一个长度为24的列表。注意在准备横轴数据时,数值类型的数据要改为字符串类型的数据,如下,24小时的横轴数据在准备时将数字作为字符串添加到横轴列表中,而不是像注释中将数值添加到列表中,string类型的横轴数据输入后折线图自动对准柱状图中心,数值类型的横轴数据输入后折线图无法对准柱状图中心。

time = ["{}".format(i) for i in range(1, 25)]  # 准备x轴数据,类型为string
# time = [] # 此为横轴数据为数值类型
# for i in range (24):
#     time.append(i)

准备纵轴数据

3个长度为24的列表,分别从1到24,25到48,49到72

data1 = [i for i in range(1, 25)]
data2 = [i for i in range(25, 49)]
data3 = [i for i in range(49, 73)]# 准备y轴数据

一、使用bar绘制堆积柱状图

创建柱状图实例

bar = Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT)) # theme 设置图表主题,可以去掉

增加x轴数据

bar.add_xaxis(xaxis_data=time)  # 增加横轴数据

增加纵轴数据

bar.add_yaxis(series_name='data1',y_axis=data1,stack="stack1",  # stack="stack1"表示堆叠category_gap="50%",  # 柱状的间距z=0, # 设置图形堆叠时的图层顺序,0为最低级,让折线图在柱状图图层上面
).add_yaxis(series_name='data2',y_axis=data2,stack="stack1",category_gap="50%",z=0,
).set_series_opts(label_opts=opts.LabelOpts(is_show=False) # 系列设置,不显示标签
).set_global_opts(title_opts=opts.TitleOpts(title='示例',),# 全局设置,设置标题
)

二、使用Line绘制折线图

绘制折线图

line = (Line().add_xaxis(time).add_yaxis(series_name='data3',y_axis=data3,label_opts=opts.LabelOpts(is_show=False),# 不显示标签linestyle_opts=opts.LineStyleOpts(width=2), # 线例设置宽度))

三、将 折线图 与 柱状图进行组合

bar.overlap(line)

四、创建并行多图示例,放入组合后的bar

grid = Grid()
grid.add(bar, opts.GridOpts(pos_left="5%", pos_right="20%"), is_control_axis_index=True)# 设置grid 组件离容器左/右侧的距离,以及是否由自己控制 Axis 索引

五、生成html文件

grid.render("示例.html")

六、绘图结果

可以看到,折线图的每个点都在柱状图中心,折线图与柱状图的图像是对齐的。

数值x轴绘图结果:

可以看到,折线图较柱状图偏了一个数值位,在柱状图的下标是2的时候折线图的点是下标1,不同的x轴数据可能在自动调整后最后展示时不一样,但折线图的点都和柱状图有一定偏差,最后的结果都不尽人意。

七、结语

这只是一个很小的问题,却在我刚接触pyecharts时花了我一定的时间,无论是查阅官方文档抑或在网上查找解决方案都没有结果,差点就放弃这个库转别的库了,毕竟没有太多时间研究画图hhh,最后找到了这个解决方法,这个应该是比较快且简单解决问题的方法,不知道有没有更高明的方法做到组合图时指定各个图的x轴位置得到想要的结果。

Pyecharts 折线图与堆积柱状图结合的组合图绘画,折线图数据点在柱状图柱中心相关推荐

  1. python使用matplotlib可视化:折线图、条形图、柱状图、直方图、饼图、雷达图(极坐标图)

    python使用matplotlib可视化:折线图.条形图.柱状图.直方图.饼图.雷达图(极坐标图) 目录

  2. python雷达和柱形图_Python Pygal常见数据图(折线图、柱状图、饼图、点图、仪表图和雷达图)详解...

    Pygal 同样支持各种不同的数据图,比如饼图.折线图等.Pygal 的设计很好,不管是创建哪种数据图,Pygal 的创建方式基本是一样的,都是先创建对应的数据图对象,然后添加数据,最后对数据图进行配 ...

  3. 小小数据统计(柱状图、折线图、扇形图)

    代码地址如下: http://www.demodashi.com/demo/12012.html 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要 ...

  4. 用echarts实现柱形图、折线图、堆积图的闪烁效果

    首先,echarts本身没有闪烁的功能供大家直接使用,下面我们将用最简单的方法去实现图表的闪烁! echarts图表的实现是通过对option进行设置,然后myChart.setOption(opti ...

  5. 【EXCEL】给数据添加图表(数据条、柱状图、折线图等),快速分析功能图文详解

    目录 0.环境 1.背景+简介 2.具体实现 2.1 给数据添加数据条 实现效果: 具体操作: 2.2 给数据添加柱状图图表 实现效果: 具体操作: 2.3 给数据添加迷你图(在表格中的折线图) 实现 ...

  6. 3.1 定义图表类型----柱状图、线形图和堆积柱状图

    3.1 定义图表类型----柱状图.线形图和堆积柱状图 文章目录 3.1 定义图表类型----柱状图.线形图和堆积柱状图 前言 一.线形图 1.操作步骤 2.进一步测试 二.基于相同的数据集合多生成一 ...

  7. excel折线图和堆积折线图

    excel中关于折线图和堆积折现图的解释: "堆积折线图和带数据标记的堆积折线图 堆积折线图用于显示每一数值所占大小随时间或有序类别而变化的趋势,可能显示数据点以表示单个数据值,也可能不显示 ...

  8. 用Echarts绘制折线图-----堆积面积图和堆积折线图

    堆积折线图的作用是用于显示每一数据所占大小随时间或有序类别而变化的趋势,展示的是部分与整体的关系. 堆积面积图是在折线图中添加面积图,属于组合图形中的一种.堆积面积图又被称为堆积区域图,它强调数量随时 ...

  9. 数据分析-Tableau01-柱状图、堆积柱状图、直方图系列

    目录 结果展示 数据来源 操作步骤 条形图 柱状图的进阶 堆积柱状图 直方图 结果展示 数据来源 Tableau示例数据-超市 操作步骤 条形图 维度表示离散数据,比如分类等.度量表示连续数值. 将柱 ...

最新文章

  1. 重置MYSQL的root 密码
  2. HDLBits 系列(15) 如何设计一个双边沿采样的电路?
  3. 重构——71将领域和表述/显示分开(Separate Domain from Presentation)
  4. Nginx的配置文件nginx.conf详解
  5. nginx 同一个IP上配置多个HTTPS主机
  6. 数据分析_SQL数据分析--旅游数据分析可视化实操
  7. 初始Angularjs2
  8. C 语言结构体引用,引用 C 语言结构体学习
  9. 设计模式(10)——迭代器模式
  10. 2015计算机软考试题及答案,2015年计算机软考网络工程师练习试题及答案
  11. 测试用例(分析法——详细场景法)
  12. 禁用 Word 2013/2016 信息检索
  13. 2016.8.6 学习总结
  14. HDU2099-整除的尾数
  15. CTF比赛解析备课与教学:漏洞扫描
  16. linux nslcd服务,redhat – sssd vs nslcd for RHEL-5/6
  17. openGauss雄踞墨天轮2021年度中国数据库魔力象限领导者
  18. CANVAS drawImage 绘图图片模糊已解决
  19. html中的src路径怎么写,HTML src路径的用法
  20. php字符串分隔函数,php字符串分割函数的简单示例

热门文章

  1. (八)苏世民:我的经验和教训:决策(567)
  2. SpringMVC学习日记总结
  3. Authing 背后的计算哲学
  4. mysql_fetch_array() expects parameter_求救!mysql_fetch_array() expects parameter 1 to be resource...
  5. r5 4500u相当于英特尔什么级别 锐龙r54500u相当于i几
  6. 安装 Win10+GTX1050ti+cuda8.0+cuDNN5.1+Tensorflow-gpu1.2
  7. 计算机显示器未响应,电脑开机显示器没反应的故障排除方法
  8. 两个栈来实现一个队列的C++代码(某公司社会招聘笔试题)
  9. 【附源码】Java计算机毕业设计架构的博客平台设计(程序+LW+部署)
  10. Linux 命令(179)—— nice 命令