安装
pip install pyecharts==0.1.9.4
https://blog.csdn.net/weixin_43735353/article/details/89328048
Line(折线/面积图)
折线图是用折线将各个数据点标志连接起来的图表,用于展现数据的变化趋势。
Line.add() 方法签名
add(name, x_axis, y_axis, is_symbol_show=True, is_smooth=False, is_stack=False, is_step=False, **kwargs)
- name -> str
图例名称 - x_axis -> list
x 坐标轴数据 - y_axis -> list
y 坐标轴数据 - is_symbol_show -> bool
是否显示标记图形,默认为 True - is_smooth -> bool
是否平滑曲线显示,默认为 False - is_stack -> bool
数据堆叠,同个类目轴上系列配置相同的 stack 值可以堆叠放置。默认为 False - is_step -> bool/str
是否是阶梯线图。可以设置为 True 显示成阶梯线图。默认为 False
也支持设置成’start’, ‘middle’, 'end’分别配置在当前点,当前点与下个点的中间下个点拐弯。
from pyecharts import Line attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"] v1 = [5, 20, 36, 10, 10, 100] v2 = [55, 60, 16, 20, 15, 80] line = Line("折线图示例") line.add("商家A", attr, v1, mark_point=["average"]) line.add("商家B", attr, v2, is_smooth=True, mark_line=["max", "average"]) line.render()
标记点其他配置
line = Line("折线图示例") line.add( "商家A", attr, v1, mark_point=["average", "max", "min"], mark_point_symbol="diamond", mark_point_textcolor="#40ff27", ) line.add( "商家B", attr, v2, mark_point=["average", "max", "min"], mark_point_symbol="arrow", mark_point_symbolsize=40, ) line.render()
line = Line("折线图示例") line.add( "商家A", attr, v1, mark_point=["average", {"coord": ["裤子", 10], "name": "这是我想要的第一个标记点"}], ) line.add( "商家B", attr, v2, is_smooth=True, mark_point=[{"coord": ["袜子", 80], "name": "这是我想要的第二个标记点"}], ) line.render()
Line3D(3D 折线图)
Line3D.add() 方法签名
add(name, data, grid3d_opacity=1, **kwargs)
- name -> str
图例名称 - data -> [list], 包含列表的列表
数据项,数据中,每一行是一个『数据项』,每一列属于一个『维度』 - grid3d_opacity -> int
3D 笛卡尔坐标系组的透明度(线的透明度),默认为 1,完全不透明。
画个弹簧
from pyecharts import Line3D import math _data = [] for t in range(0, 25000): _t = t / 1000 x = (1 + 0.25 * math.cos(75 * _t)) * math.cos(_t) y = (1 + 0.25 * math.cos(75 * _t)) * math.sin(_t) z = _t + 2.0 * math.sin(75 * _t) _data.append([x, y, z]) range_color = [ '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf', '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'] line3d = Line3D("3D 折线图示例", width=1200, height=600) line3d.add( "", _data, is_visualmap=True, visual_range_color=range_color, visual_range=[0, 30], grid3d_rotate_sensitivity=5, ) line3d.render()