鱼C论坛

 找回密码
 立即注册
查看: 2626|回复: 2

[已解决]pyecharts设置多条markline时,如何设置成不同颜色

[复制链接]
发表于 2023-10-14 23:19:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
pyecharts设置多条markline时,如何设置成不同颜色?

最佳答案
2023-10-14 23:19:13
您可以在  MarkLine  的  lineStyle  属性中设置不同的颜色。以下是一个示例代码:
from pyecharts import options as opts
from pyecharts.charts import Line

x_data = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
y_data = [820, 932, 901, 934, 1290, 1330, 1320]

# 设置 markline
marklines = [
    opts.MarkLine(
        name="平均值",
        data=[opts.MarkLineItem(type_="average", name="平均值")],
        linestyle_opts=opts.LineStyleOpts(color="red")
    ),
    opts.MarkLine(
        name="最大值",
        data=[opts.MarkLineItem(type_="max", name="最大值")],
        linestyle_opts=opts.LineStyleOpts(color="green")
    )
]

# 创建折线图
line = Line()
line.add_xaxis(xaxis_data=x_data)
line.add_yaxis(
    series_name="数据",
    y_axis=y_data,
    markline_opts=opts.MarkLineOpts(marklines=marklines)
)
line.set_global_opts(title_opts=opts.TitleOpts(title="示例"))
line.render("example.html")

在上面的代码中,我们设置了两个  MarkLine ,分别是平均值和最大值。在  linestyle_opts  属性中,我们分别设置了红色和绿色的颜色。您可以根据需要设置不同的颜色。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-14 23:19:13 | 显示全部楼层    本楼为最佳答案   
您可以在  MarkLine  的  lineStyle  属性中设置不同的颜色。以下是一个示例代码:
from pyecharts import options as opts
from pyecharts.charts import Line

x_data = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
y_data = [820, 932, 901, 934, 1290, 1330, 1320]

# 设置 markline
marklines = [
    opts.MarkLine(
        name="平均值",
        data=[opts.MarkLineItem(type_="average", name="平均值")],
        linestyle_opts=opts.LineStyleOpts(color="red")
    ),
    opts.MarkLine(
        name="最大值",
        data=[opts.MarkLineItem(type_="max", name="最大值")],
        linestyle_opts=opts.LineStyleOpts(color="green")
    )
]

# 创建折线图
line = Line()
line.add_xaxis(xaxis_data=x_data)
line.add_yaxis(
    series_name="数据",
    y_axis=y_data,
    markline_opts=opts.MarkLineOpts(marklines=marklines)
)
line.set_global_opts(title_opts=opts.TitleOpts(title="示例"))
line.render("example.html")

在上面的代码中,我们设置了两个  MarkLine ,分别是平均值和最大值。在  linestyle_opts  属性中,我们分别设置了红色和绿色的颜色。您可以根据需要设置不同的颜色。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-14 23:20:38 | 显示全部楼层
在 Pyecharts 中设置多条 MarkLine 的不同颜色可以通过使用 Graph 组件来实现。下面是具体的操作步骤:

1. 导入相关模块:

   from pyecharts import options as opts   from pyecharts.charts import Line, Graph   
2. 创建折线图对象和 Graph 对象,并设置数据:

   # 创建折线图对象   line = Line()   line.add_xaxis(['A', 'B', 'C', 'D'])   line.add_yaxis('折线图', [10, 20, 30, 40])   # 创建 Graph 对象   graph = Graph()   graph.add('', [], [])   # 设置 MarkLine 数据   markline_data = [       [(0, 20), (3, 20)],  # 第一条 MarkLine 数据,起点 (0, 20),终点 (3, 20)       [(1, 10), (2, 30)]   # 第二条 MarkLine 数据,起点 (1, 10),终点 (2, 30)   ]   for data in markline_data:       graph.add(           '',           [data],  # 每条 MarkLine 数据单独添加           linestyle_opts=opts.LineStyleOpts(color='red')  # 设置 MarkLine 的颜色       )   # 将 Graph 添加到折线图中   line.extend(graph)   
   在上面的代码中,我们先创建了一个折线图对象 line 和一个 Graph 对象 graph。然后,通过循环遍历 markline_data 列表,将每条 MarkLine 数据单独添加到 Graph 对象中,并使用 linestyle_opts 参数来设置 MarkLine 的颜色。

3. 渲染图表:

   line.render('line.html')   
在设置多条 MarkLine 的不同颜色时,需要注意以下几点:

- markline_data 列表中每个元素表示一条 MarkLine 的数据,其中元素包含起点和终点的坐标;
- 可以通过调整 markline_data 列表的顺序来控制 MarkLine 的显示顺序;
- 使用 linestyle_opts 参数来设置 MarkLine 的颜色,可以使用颜色名称或 RGB 值。

希望对你有所帮助!

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 03:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表