用pyecharts的overlap绘制叠加图时,设置的颜色不起作用

2024-03-15 20:20

本文主要是介绍用pyecharts的overlap绘制叠加图时,设置的颜色不起作用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题

用pyecharts绘制叠加图时,如折线图上叠加散点图时,分别设置了自己的颜色(三角是绿色,圆形是蓝色),但是渲染颜色和图例颜色不一致,如下图所示,折线颜色和散点颜色相同。
在这里插入图片描述

解决1

这种情况,可以在折线图绘制时,在add_yaxis中增加linestyle_opts=opts.LineStyleOpts(color=‘red’)参数来设置折线颜色,结果如下图所示
在这里插入图片描述

解决2

但是如果叠加的图有点多,比如叠加了两种散点图,就无法区别两种散点图了,如下图:
在这里插入图片描述
该图为了方便查看,用不同的符号形状来区分了两种散点图,但是他们的颜色是一样的。究其原因是因为叠加用overlap将多个图放在一个图像上显示,并且在最底图层上增加了全局的可视映射visualmap_opts=opts.VisualMapOpts(is_show=True)。如上图是将两个散点图加到了折线图上,在绘制折线图时设置了该参数,即便该参数中的is_show=False,也会出现上述的结果,只是少了上图左下角的色标。所以简单粗暴一些,直接删除。结果如下图:
在这里插入图片描述
上图也和我们想要的结果不一致(最初设置的三角是绿色,圆形是蓝色的),图中三角是蓝色,圆形的颜色是自动新加的颜色。仔细看图标会发现,第一个折线的图例是一条线加一个圆圈,但是圆圈是绿色的,这正是我们给三角设置的颜色,这是因为在绘制折线时默认每个点用圆圈来标记,为了好看,我们在绘制折线图时将这个圆圈设置不显示(is_symbol_show=False),但是它有颜色的,它是设置颜色中的倒数第三位(echarts机制,默认几个颜色,之后设置的颜色都加到最后面),所以在绘制折线图时将该圆圈的颜色设置为和线的颜色相同或者其他颜色,让它占颜色位置。设置后的结果图如下:
在这里插入图片描述
这里我给折线上的圆圈颜色设置为pink, 添加到add_yaxis中的参数代码为:color=‘pink’

完整代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# ----------------------------------
# @Time    : 2024/3/11 14:41
# @File    : ab_ana_0304 - test.py
# Description   : 
# ----------------------------------
from pyecharts.charts import Line, Scatter
import pyecharts.options as opts
linex = []
liney = []
scatter1x = []
scatter1y = []
scatter2x = []
scatter2y = []
line = (Line().add_xaxis(linex).add_yaxis('value', liney, color='pink', is_symbol_show=False, linestyle_opts=opts.LineStyleOpts(color='red')).set_global_opts(title_opts=opts.TitleOpts(title="{}指标数据趋势图".format(00)),yaxis_opts=opts.AxisOpts(min_=10, max_=20),datazoom_opts=opts.DataZoomOpts(),  # 添加数据缩放# visualmap_opts=opts.VisualMapOpts(is_show=False)))ab_scatter1 = (Scatter().add_xaxis(scatter1x).add_yaxis("abnormal point1", y_axis=scatter1y,symbol_size=10,  # 设置散点的大小symbol='triangle',label_opts=opts.LabelOpts(is_show=False),color='green').set_series_opts().set_global_opts(legend_opts=opts.LegendOpts(is_show=False))
)# 异常点展示
ab_scatter2 = (Scatter().add_xaxis(xaxis_data=scatter1y).add_yaxis(series_name="abnormal point2",y_axis=scatter2y,symbol='circle',color='blue').set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(legend_opts=opts.LegendOpts(is_show=False))
)# 将散点图叠加在折线图上
# 使用Overlap组件创建复合图表
line.overlap(ab_scatter1)
line.overlap(ab_scatter2)
line.render("颜色测试.html")

这篇关于用pyecharts的overlap绘制叠加图时,设置的颜色不起作用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/813162

相关文章

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

【WebGPU Unleashed】1.1 绘制三角形

一部2024新的WebGPU教程,作者Shi Yan。内容很好,翻译过来与大家共享,内容上会有改动,加上自己的理解。更多精彩内容尽在 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信号:digital_twin123 在 3D 渲染领域,三角形是最基本的绘制元素。在这里,我们将学习如何绘制单个三角形。接下来我们将制作一个简单的着色器来定义三角形内的像素

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

uniapp设置微信小程序的交互反馈

链接:uni.showToast(OBJECT) | uni-app官网 (dcloud.net.cn) 设置操作成功的弹窗: title是我们弹窗提示的文字 showToast是我们在加载的时候进入就会弹出的提示。 2.设置失败的提示窗口和标签 icon:'error'是设置我们失败的logo 设置的文字上限是7个文字,如果需要设置的提示文字过长就需要设置icon并给

Tomcat性能参数设置

转自:http://blog.csdn.net/chinadeng/article/details/6591542 Tomcat性能参数设置 2010 - 12 - 27 Tomcat性能参数设置 博客分类: Java Linux Tomcat 网络应用 多线程 Socket 默认参数不适合生产环境使用,因此需要修改一些参数   1、修改启动时内存参数、并指定J

linux下非标准波特率的设置和使用

通常,在linux下面,设置串口使用终端IO的相关函数设置,如tcsetattr等函数,linux内部有一个对常用波特率列表的索引,根据设置的波特率用底层驱动来设置异步通信芯片的寄存器 对于非标准的任意波特率需要用ioctl(fd, TIOCGSERIAL, p)和ioctl(fd, TIOCSSERIAL, p)的配合,ioctl的最后一个参数是struct serial_struct *

win7如何设置SATA硬盘

Win7在安装时设置的是IDE,安装完后需要在注册表中设置为SATA,否则直接设BIOS会不认硬盘,具体如下 注册表子项:HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Msahci 找到Start键,将值0改为3

YOLOv8/v10+DeepSORT多目标车辆跟踪(车辆检测/跟踪/车辆计数/测速/禁停区域/绘制进出线/绘制禁停区域/车道车辆统计)

01:YOLOv8 + DeepSort 车辆跟踪 该项目利用YOLOv8作为目标检测模型,DeepSort用于多目标跟踪。YOLOv8负责从视频帧中检测出车辆的位置,而DeepSort则负责关联这些检测结果,从而实现车辆的持续跟踪。这种组合使得系统能够在视频流中准确地识别并跟随特定车辆。 02:YOLOv8 + DeepSort 车辆跟踪 + 任意绘制进出线 在此基础上增加了用户

渐变颜色填充

GradientFill函数可以对特定的矩形区域或者三角形区域进行渐变颜色的填充。我们先来看看GradientFill函数到底长得什么样子,帅不帅。 [cpp]  view plain copy print ? BOOL GradientFill(     _In_  HDC hdc,     _In_  PTRIVERTEX pVertex,     _In_  ULONG