鱼C论坛

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

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

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

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

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

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

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

  1. from pyecharts import options as opts
  2. from pyecharts.charts import Line

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

  5. # 设置 markline
  6. marklines = [
  7.     opts.MarkLine(
  8.         name="平均值",
  9.         data=[opts.MarkLineItem(type_="average", name="平均值")],
  10.         linestyle_opts=opts.LineStyleOpts(color="red")
  11.     ),
  12.     opts.MarkLine(
  13.         name="最大值",
  14.         data=[opts.MarkLineItem(type_="max", name="最大值")],
  15.         linestyle_opts=opts.LineStyleOpts(color="green")
  16.     )
  17. ]

  18. # 创建折线图
  19. line = Line()
  20. line.add_xaxis(xaxis_data=x_data)
  21. line.add_yaxis(
  22.     series_name="数据",
  23.     y_axis=y_data,
  24.     markline_opts=opts.MarkLineOpts(marklines=marklines)
  25. )
  26. line.set_global_opts(title_opts=opts.TitleOpts(title="示例"))
  27. line.render("example.html")
复制代码


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

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

  1. from pyecharts import options as opts
  2. from pyecharts.charts import Line

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

  5. # 设置 markline
  6. marklines = [
  7.     opts.MarkLine(
  8.         name="平均值",
  9.         data=[opts.MarkLineItem(type_="average", name="平均值")],
  10.         linestyle_opts=opts.LineStyleOpts(color="red")
  11.     ),
  12.     opts.MarkLine(
  13.         name="最大值",
  14.         data=[opts.MarkLineItem(type_="max", name="最大值")],
  15.         linestyle_opts=opts.LineStyleOpts(color="green")
  16.     )
  17. ]

  18. # 创建折线图
  19. line = Line()
  20. line.add_xaxis(xaxis_data=x_data)
  21. line.add_yaxis(
  22.     series_name="数据",
  23.     y_axis=y_data,
  24.     markline_opts=opts.MarkLineOpts(marklines=marklines)
  25. )
  26. line.set_global_opts(title_opts=opts.TitleOpts(title="示例"))
  27. line.render("example.html")
复制代码


在上面的代码中,我们设置了两个  MarkLine ,分别是平均值和最大值。在  linestyle_opts  属性中,我们分别设置了红色和绿色的颜色。您可以根据需要设置不同的颜色。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

1. 导入相关模块:

  
  1.    from pyecharts import options as opts
  2.    from pyecharts.charts import Line, Graph
  3.    
复制代码

2. 创建折线图对象和 Graph 对象,并设置数据:

  
  1.    # 创建折线图对象
  2.    line = Line()
  3.    line.add_xaxis(['A', 'B', 'C', 'D'])
  4.    line.add_yaxis('折线图', [10, 20, 30, 40])
  5.    # 创建 Graph 对象
  6.    graph = Graph()
  7.    graph.add('', [], [])
  8.    # 设置 MarkLine 数据
  9.    markline_data = [
  10.        [(0, 20), (3, 20)],  # 第一条 MarkLine 数据,起点 (0, 20),终点 (3, 20)
  11.        [(1, 10), (2, 30)]   # 第二条 MarkLine 数据,起点 (1, 10),终点 (2, 30)
  12.    ]
  13.    for data in markline_data:
  14.        graph.add(
  15.            '',
  16.            [data],  # 每条 MarkLine 数据单独添加
  17.            linestyle_opts=opts.LineStyleOpts(color='red')  # 设置 MarkLine 的颜色
  18.        )
  19.    # 将 Graph 添加到折线图中
  20.    line.extend(graph)
  21.    
复制代码

   在上面的代码中,我们先创建了一个折线图对象 line 和一个 Graph 对象 graph。然后,通过循环遍历 markline_data 列表,将每条 MarkLine 数据单独添加到 Graph 对象中,并使用 linestyle_opts 参数来设置 MarkLine 的颜色。

3. 渲染图表:

  
  1.    line.render('line.html')
  2.    
复制代码

在设置多条 MarkLine 的不同颜色时,需要注意以下几点:

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

希望对你有所帮助!

球一个最佳答案谢谢啦!这对我非常重要!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-22 23:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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