pyecharts y轴不从零开始与min值的应用
一、pyechart刻度不从0开始
一些监控数据基本上在固定在某一个值附近变化不会太大的,尤其是一些行情类的数据,不可能今天是10,明天变0或负值,基本其就是这个值左右波动。遇到这种情况,如果监控图还是从0开始计算的话,很难观察到其抖动情况。这时候就考虑取其一起时间内的最小值为y轴的起始值。而从echarts官方的文档上来看其是支持min、max参数作为起始或终点值的。
echart官方说明文档参考:https://www.echartsjs.com/zh/option.html#yAxis.min
pyechart关于该项值的帮助信息为:
1min_: Union[int, float, str, NoneType] = None
2max_: Union[int, float, str, NoneType] = None
二、遇到的问题
在配置的时候发现使用int数值是可以正常输出图形的,当使用str min表达时,无法正常输出左边的刻度,如下图:
这个不知道是不是参数使用的有问题,从网上查看到的消息也有人遇到类似的问题。不过其不是用的pyecharts,而是用的echarts,页面为:Echarts中y轴无法设置max,min值? ,其给出的方法是换用最新的echarts.min.js 文件。这个我有尝试更换,发现也不能解决。
代码如下:
1line_price = (
2 Line()
3 .add_xaxis(xaxis_data=list(x_data))
4 .add_yaxis(
5 series_name="开",
6 y_axis=list(df['open'].values),
7 label_opts=opts.LabelOpts(is_show=False),
8 )
9 .add_yaxis(
10 series_name="收",
11 y_axis=list(df['close'].values),
12 label_opts=opts.LabelOpts(is_show=False),
13 )
14 .add_yaxis(
15 series_name="高",
16 y_axis=list(df['high'].values),
17 label_opts=opts.LabelOpts(is_show=False),
18 )
19 .add_yaxis(
20 series_name="低",
21 y_axis=list(df['low'].values),
22 label_opts=opts.LabelOpts(is_show=False),
23 )
24 .set_global_opts(
25 tooltip_opts=opts.TooltipOpts(
26 is_show=True, trigger="axis", axis_pointer_type="cross",
27 ),
28 yaxis_opts=opts.AxisOpts(
29 type_="value",
30 #min_=26,
31 min_="min",
32 #max_="max",
33 axistick_opts=opts.AxisTickOpts(is_show=True),
34 splitline_opts=opts.SplitLineOpts(is_show=True),
35 ),
36 xaxis_opts=opts.AxisOpts(
37 type_="category",
38 boundary_gap=False,
39 axispointer_opts=opts.AxisPointerOpts(is_show=True, type_="shadow"),
40 ),
41 #legend_opts=opts.LegendOpts(pos_left="3%",orient="vertical"),
42 )
43)
三、我的解决办法
上面的代码中,如果把min=”min”换成min=26就可以正常显示。既然如此,可以通过使用python本身计算出最小值,把最小值做为一个变量传过去就行了。因为我测试用的数据是pandas类型,所以这里直接使用如下代码搞定:
1minval = df['low'].min()
2在pyecharts调用处改为:
3min = minval,
使用该方法处理后,输出的图形为:
同时对于刻度间的间隔还可以使用 min_interval 或 max_interval进行设置。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/pyechart-min-max/6200.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.