用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")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/746985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【NestJS 编程艺术】1. NestJS设计模式深度解析:构建高效、可维护的服务端应用

在当今快速发展的软件开发领域,Node.js凭借其轻量级和高性能的特点,已经成为了构建服务端应用的首选技术之一。然而,随着应用规模的扩大,传统的Node.js框架如Express和Koa可能在架构设计和代码组织上显得力不从心。这时&#xff0…

vue3--事件处理

监听事件 Vue使用 v-on 指令 (通常缩写为 符号) 来监听 DOM 事件&#xff0c;并在触发事件时执行一些JS代码 比如 v-on:click“methodName” 或使用缩写方式 click“methodName” <divid"app"><buttonclick"counter 1">Add 1</button&g…

Leet code 904 水果成篮

解题思路&#xff1a;滑动窗口 创建hash表记录水果的种类和数量 两个指针left 和 right 从数组起始位置开始滑动&#xff0c;right在循环内 hash[fruits[right]] 进窗口 然后判断 hash表中的种类是否大于2 一旦大于2就要想办法出窗口 出窗口需要将hash表中种类重回2种 …

python做筛子用

import randomdef roll_dice():roll random.randint(1,10)return roll def main():total_times 100#初始化列表result_list[0]*10for i in range(total_times):print(roll_dice())for j in range(1,11):if roll_dice() j:result_list[j-1] 1if __name__ __main__:main() 结…

Js结束符与注释

JavaScript 注释有哪两种方式? 单行注释 //多行注释 /**/ JavaScript 结束符注意点 结束符是? 分号 结束符可以省略吗? Yes 但为了风格统一&#xff0c;经结束符要么每句都写&#xff0c;要么每句都不写&#xff08;团队约定&#xff09;

基于Java (spring-boot)的个人博客系统

一、项目介绍 登录模块&#xff1a;用户登录、用户注册 普通用户&#xff1a;博客主页、博客随笔、博客留言、个人信息修改 管理员&#xff1a;系统管理、内容管理、文章管理、随笔管理、分类管理、标签管理、留言管理、评论管理、文件管理 博客编辑&#xff1a;支持富文本编辑…

Autosar教程-Mcal教程-Fls配置教程

3.11.1 FLS基础知识 flash操作中有两个术语:block和page。block是flash最小的擦除单位,page则是flash写入的最小单位。以我们使用的F1KM-S4(R7F7016533)来说,它的是64 bytes, page是4bytes。这也就意味着,如果要擦除的话,最小要擦除64 bytes,但是写入可以按4字节的大小写入…

vue怎么跳转页面?

在 Vue.js 中&#xff0c;页面跳转通常是通过路由&#xff08;Vue Router&#xff09;来实现的。Vue Router 是 Vue.js 官方的路由管理器&#xff0c;可以实现单页应用&#xff08;SPA&#xff09;中的页面跳转、路由匹配和参数传递等功能。以下是几种常见的 Vue 页面跳转的方法…

程序员的知识宝库,100+开源书籍、文档

公众号&#xff1a;【可乐前端】&#xff0c;每天3分钟学习一个优秀的开源项目&#xff0c;分享web面试与实战知识&#xff0c;也有全栈交流学习摸鱼群&#xff0c;期待您的关注! 每天3分钟开源 hi&#xff0c;这里是每天3分钟开源&#xff0c;很高兴又跟大家见面了&#xff0…

每日五道java面试题之springMVC篇(四)

目录&#xff1a; 第一题. Spring MVC怎么样设定重定向和转发的&#xff1f;第二题.Spring MVC怎么和AJAX相互调用的&#xff1f;第三题. 如何解决POST请求中文乱码问题&#xff0c;GET的又如何处理呢&#xff1f;第四题. Spring MVC的异常处理&#xff1f;第五题. 如果在拦截请…

前端开发免费的常用(好用)网站合集,必看

前端学习交流QQ群&#xff1a;1群&#xff1a;173683895 &#xff0c;2群: 173683866 承接项目开发&#xff0c;需求功能开发&#xff0c;博主微信号&#xff1a;Jay_09168 1. 百度&#xff0c;作为CV工程师&#xff0c;百度还是用得最多的 https://www.baidu.com/ 2. 百度翻…

iOS面试题锦集

1. 问&#xff1a;一张图片所占内存大小跟什么有关&#xff1f; 图片所占内存大小&#xff0c;与图片的宽高有关 我们平时看到的png、jpg、webp这些图片格式&#xff0c;其实都是图片压缩格式。通过对应的算法来优化了大小以节省网络传输与本地保存所需的资源。 但是当我们加…

操作系统(一)

操作系统 一、操作系统的四个特性 并发性&#xff1a;并发性是指两个或多个时间在同一时间间隔发生&#xff0c;并发和并行是两个相似的概念&#xff0c;并行是指两个或多个事件在同一时刻发生。进程在宏观上并行&#xff0c;微观上串行 2.共享性&#xff1a;** 由于操作系统…

04-java基础--流程控制语句

一、switch语句 二、循环的三种结构 流程控制语句分为三种结构&#xff1a; 顺序结构&#xff08;按代码的书写顺序执行&#xff0c;从上到下依次执行&#xff09;分支结构&#xff08;if语句、if–else语句、switch语句&#xff09;循环结构&#xff08;while、for循环、do–…

H5 响应式精品网站推荐导航源码

源码名称&#xff1a;响应式精品网站推荐导航源码 源码介绍&#xff1a;一款响应式精品网站推荐导航源码&#xff0c;可以自己修改代码替换图标图片和指向网址。背景图支持自动替换&#xff0c;背景图可以在img.php中修改 需求环境&#xff1a;H5 下载地址&#xff1a; http…

python_Anaconda虚拟环境导出以及重现

文章目录 1. 场景2. 解决方案2.1 方案一&#xff1a;直接将打包&#xff0c;然后将包传输到另外一台服务器2.2 方案二&#xff1a;导出环境所有的包名及版本&#xff0c;然后重新安装 1. 场景 我们有时候需要把一个虚拟环境迁移到别的服务器上面去&#xff0c;这时候&#xff…

JavaScript基础(超详细)

目录 1.JavaScript概述 2.JavaScript的组成及其基本结构 1.JavaScript的组成 1.ECMAScript ECMAScript是一种由Ecma国际[前向为欧洲计算机制造商协会(European Computer Manufacturers Associaiton)]通过ECMA-262标准化的脚本程序设计语言。其主要描述了JavaScript的语法…

使用阿里云服务器查看网站备案的方法和注意事项

随着互联网的发展&#xff0c;网站注册已成为在中国建设网站的必要步骤。 在使用阿里云服务器时&#xff0c;我们可以通过以下步骤查看网站注册状态。 备案概述&#xff1a; 在中国&#xff0c;互联网信息服务提供者必须进行登记&#xff0c;以监管互联网内容、规范市场运营和…

P1149 [NOIP2008 提高组] 火柴棒等式

题目描述 给你 &#xfffd;n 根火柴棍&#xff0c;你可以拼出多少个形如 &#xfffd;&#xfffd;&#xfffd;ABC 的等式&#xff1f;等式中的 &#xfffd;A、&#xfffd;B、&#xfffd;C 是用火柴棍拼出的整数&#xff08;若该数非零&#xff0c;则最高位不能是 00&…

C语言:字符串逆序输出, test ok

【问题描述】字符串逆序&#xff1a;设计函数功能是将一个字符串逆序&#xff0c;函数声明&#xff1a;void stringNx(char a[ ])&#xff0c;使用这个函数完成将输入的字符串逆序输出。 【输入形式】要求输入一个字符串 【输出形式】逆序后输出 【样例输入】abcd 【样例输…