pycharts 折线图上Markpoint/自定义多个标记点

折线图上标记多个自定义点

逻辑:在折线图上画散点图,利用了图的叠加overlap。

from pandas import DataFrame
import pandas as pd
import numpy as np

from pyecharts.charts import Bar,Pie,Tab,Scatter,Line
from pyecharts import options as opts
line1= (
    Line()
    .add_xaxis(['1-11','1-12','1-13','1-14','1-15','1-16','1-17','1-18','1-19','1-20','1-21'])
    .add_yaxis('2015',
               [10,14,19,22,25,29,34,36,41,46,57],
               xaxis_index=0,
               #color='#C23531',
               color='#D770AD',
               is_symbol_show = False,
               is_connect_nones=True
              )
    .add_yaxis('2016',
               [12,16,20,22,26,30,35,39,40,53,68],
               xaxis_index=0,
               #color='#2F4554',
               color='#8CC152',
               is_symbol_show = False,
              is_connect_nones=True)
    .set_global_opts(title_opts=opts.TitleOpts(title="Line-MarkPoint(自定义)"))
)
line11 = (
    Scatter()
    .add_xaxis(['1-13','1-15','1-18','1-20'])
    .add_yaxis(series_name='',
               y_axis=[20,26,41,68],
               xaxis_index=0,
               symbol_size=3,#设置散点的大小
               #symbol='cricle'
              )
    .set_series_opts(label_opts = opts.LabelOpts(is_show =True))
    .set_global_opts(legend_opts=opts.LegendOpts(is_show=False))
    .set_global_opts(visualmap_opts=opts.VisualMapOpts(is_show=False))
    )
#将散点图叠加在折线图上
line1.overlap(line11)   
#用于网页显示,里面可以放指定路径 
line1.render()

在这里插入图片描述
使用markpoint 添加自定义多个标记点不成功,只能添加特殊标记点,求大神们评论

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pyecharts 中,可以通过 `line_color` 参数来设置折线的颜色,但是如果要对不同的折线设置不同的颜色,需要使用自定义主题和自定义渲染函数的方法。 具体步骤如下: 1. 定义一个自定义主题,例如: ```python from pyecharts.globals import ThemeType my_theme = ThemeType.CHALK my_theme.update({ 'color': ['#c23531', '#2f4554', '#61a0a8', '#d48265', '#91c7ae', '#749f83', '#ca8622', '#bda29a', '#6e7074', '#546570', '#c4ccd3'] }) ``` 2. 定义一个自定义渲染函数,例如: ```python def render_color(params, api): x_value = api.value(0) y_value = api.value(1) if x_value < 20: return {'color': 'red'} elif x_value < 40: return {'color': 'yellow'} else: return {'color': 'green'} ``` 3. 在折线图中使用自定义主题和自定义渲染函数,例如: ```python from pyecharts import options as opts from pyecharts.charts import Line x_data = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] y_data_1 = [30, 40, 25, 35, 55, 75, 80, 70, 60, 50, 45, 35] y_data_2 = [25, 35, 40, 50, 45, 55, 70, 65, 55, 45, 40, 30] line = Line(init_opts=opts.InitOpts(theme=my_theme)) line.add_xaxis(x_data) line.add_yaxis('折线1', y_data_1, itemstyle_opts=opts.ItemStyleOpts(color=render_color)) line.add_yaxis('折线2', y_data_2, itemstyle_opts=opts.ItemStyleOpts(color=render_color)) line.set_global_opts(title_opts=opts.TitleOpts(title='折线图')) line.render('line.html') ``` 在自定义渲染函数中,根据 x_value 的值来判断的颜色,然后返回一个字典,其中 color 键对应的颜色值。在折线图中,通过 itemstyle_opts 参数将自定义渲染函数传递给每一个折线,从而实现不同不同颜色的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值