Python.pyecharts.charts折线图新旧版本对比详解!
程序员文章站
2022-07-02 22:30:01
旧版本(0.5.10)实现from pyecharts import Lineline=Line("美国邮费阶梯图")datax =[1995,1996,1997,1998,1999,2001,2002,2003,2004,2005,2006,2007,2008,2009]datay =[0.32,0.32,0.32,0.32,0.33,0.33,0.34,0.37,0.37,0.37,0.37,0.39,0.41,0.42,0.44]line.add("Price",datax,datay,is...
旧版本(0.5.10)实现
from pyecharts import Line
line=Line("美国邮费阶梯图")
datax =[1995,1996,1997,1998,1999,2001,2002,2003,2004,2005,2006,2007,2008,2009]
datay =[0.32,0.32,0.32,0.32,0.33,0.33,0.34,0.37,0.37,0.37,0.37,0.39,0.41,0.42,0.44]
line.add("Price",datax,datay,is_step=True,is_label_show=True,yaxis_min=0.3,taxis_max=0.45)
line.render()
新版本实现(1.81以上)
from pyecharts.charts import Line
import pyecharts.options as opts
x = ['1995','1996','1997','1998','1999','2000','2001','2002','2003','2004','2005','2006','2007','2008','2009']
y = [0.32,0.32,0.32,0.32,0.33,0.33,0.34,0.37,0.37,0.37,0.37,0.39,0.41,0.42,0.44]
# x=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']
# y=[100,200,300,400,500,400,300]
line = (
Line()
# .set_global_opts(
# 问题一、set_global_opts是干啥的??有啥用??
# 答: 总体配置项 ,全局配置项可通过set_global_options方法设置(颜色,大小,标题,等等等)
# 问题四、其中都有哪些需要注意的东西?
# 答: 我还在学,会了再整理
# tooltip_opts=opts.TooltipOpts(is_show=False),
# xaxis_opts=opts.AxisOpts(type_="category"),
# yaxis_opts=opts.AxisOpts(
# type_="value",
# axistick_opts=opts.AxisTickOpts(is_show=True),
# splitline_opts=opts.SplitLineOpts(is_show=True),
# ),
# )
.set_global_opts(
title_opts=opts.TitleOpts(title="美国邮费阶梯图"),
yaxis_opts=opts.AxisOpts(
min_=0.3,
max_=0.45,
splitline_opts=opts.SplitLineOpts(is_show=True)
)
)
.add_xaxis(xaxis_data=x)
.add_yaxis(
# 问题二、 没有找到可以调节y轴最小值和最大值的方法????,只能从0开始吗?旧版本可实现,新版本的在哪实现?
# 答:在 .set_global_opts 里
series_name="美国邮政变化阶梯图",
y_axis=y,
is_smooth=True, #是否平滑
#symbol_size=[10,20],
#yaxis_index=[0.3,0.45], 错误测试不用管
symbol="emptyCircle",
is_symbol_show=True,
#is_step=True, #控制曲线是否平滑
label_opts=opts.LabelOpts(is_show=False),
)
)
line.render("./html/阶梯图.html")
# 问题三、能不能把生成的html文件直接放到自己建的另一个文件夹里呢,就是换地址存放(不存放在当前地址)?
# 答:可以,render支持加入路径参数。
add.yaxis 属性详解说明
def add_yaxis(
self,
series_name: str, # 系列名称,用于 tooltip 的显示,legend 的图例筛选。
y_axis: types.Sequence[types.Union[opts.LineItem, dict]], # 系列数据
*,
is_selected: bool = True, #是否选中图例
is_connect_nones: bool = False, # 是否连接空数据,空数据使用 `None` 填充
xaxis_index: types.Optional[types.Numeric] = None, #在单个图表中存在多个x轴时使用
yaxis_index: types.Optional[types.Numeric] = None, #在单个图表中存在多个y轴时使用
color: types.Optional[str] = None, #系列label颜色
is_symbol_show: bool = True, # 是否显示 symbol, 如果 false 则只有在 tooltip hover 的时候显示。
# 标记的图形。
# ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle',
# 'diamond', 'pin', 'arrow', 'none'
# 可以通过 'image://url' 设置为图片,其中 URL 为图片的链接,或者 dataURI。
symbol: types.Optional[str] = None,
# 标记的大小,可以设置成诸如 10 这样单一的数字,也可以用数组分开表示宽和高,
# 例如 [20, 10] 表示标记宽为 20,高为 10。
symbol_size: types.Union[types.Numeric, types.Sequence] = 4,
stack: types.Optional[str] = None, # 数据堆叠,同个类目轴上系列配置相同的 stack 值可以堆叠放置。
is_smooth: bool = False, # 是否平滑曲线
is_clip: bool = True, # 是否裁剪超出坐标系部分的图形。折线图:裁掉所有超出坐标系的折线部分,拐点图形的逻辑按照散点图处理
is_step: bool = False, # 是否显示成阶梯图
is_hover_animation: bool = True, # 是否开启 hover 在拐点标志上的提示动画效果。
# 折线图所有图形的 zlevel 值。
# zlevel用于 Canvas 分层,不同zlevel值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。
# zlevel 大的 Canvas 会放在 zlevel 小的 Canvas 的上面。
z_level: types.Numeric = 0,
# 折线图组件的所有图形的z值。控制图形的前后顺序。z值小的图形会被z值大的图形覆盖。
# z 相比 zlevel 优先级更低,而且不会创建新的 Canvas。
z: types.Numeric = 0,
markpoint_opts: types.MarkPoint = None,
markline_opts: types.MarkLine = None,
tooltip_opts: types.Tooltip = None,
itemstyle_opts: types.ItemStyle = None,
label_opts: types.Label = opts.LabelOpts(),
linestyle_opts: types.LineStyle = opts.LineStyleOpts(),
areastyle_opts: types.AreaStyle = opts.AreaStyleOpts(),
):
self._append_color(color)
self._append_legend(series_name, is_selected)
# 合并 x 和 y 轴数据,避免当 X 轴的类型设置为 'value' 的时候,
# X、Y 轴均显示 Y 轴数据
data = [list(z) for z in zip(self._xaxis_data, y_axis)]
self.options.get("series").append( # 这个是干什么用的?????
{
"type": ChartType.LINE,
"name": series_name,
"connectNulls": is_connect_nones,
"xAxisIndex": xaxis_index,
"yAxisIndex": yaxis_index,
"symbol": symbol,
"symbolSize": symbol_size,
"showSymbol": is_symbol_show,
"smooth": is_smooth,
"clip": is_clip,
"step": is_step,
"stack": stack,
"data": data,
"hoverAnimation": is_hover_animation,
"label": label_opts,
"lineStyle": linestyle_opts,
"areaStyle": areastyle_opts,
"markPoint": markpoint_opts,
"markLine": markline_opts,
"tooltip": tooltip_opts,
"itemStyle": itemstyle_opts,
"zlevel": z_level,
"z": z,
}
)
return self
本文地址:https://blog.csdn.net/qq_43527959/article/details/110872701
下一篇: python之os模块总结
推荐阅读