pyecharts图表库学习:Line(折线/面积图)

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'分别配置在当前点,当前点与下个点的中间下个点拐弯。
Line.add(name, x_axis, y_axis, 
		is_symbol_show=True, 
		is_smooth=False, is_stack=False, 
		is_step=False, 
		is_fill=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 : 是否是阶梯线图. 默认为 False. 也支持设置成 “start”, “middle”, “end” 分别配置在当前点, 当前点与下个点的中间, 下个点的拐弯.

is_fill –> bool : 是否填充曲线所绘制面积, 默认为 False.

mark_point –> list : 标记点,min, max, average 可选

mark_line –> list : 标记线,min, max, average 可选.

mark_point_symbol –> str : 标记点图形, 默认为 pin, 有 circle, rect, roundRect, triangle, diamond, pin, arrow 可选.

mark_point_symbolsize –> int : 标记点图形大小, 默认为 50

mark_point_textcolor –> str : 标记点字体颜色, 默认为 #fff.

area_color –> str : 填充区域颜色.

area_opacity –> float : 填充区域透明度
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()

堆叠折线图

line = Line("折线图-数据堆叠示例")
line.add("商家A", attr, v1, is_stack=True, is_label_show=True)
line.add("商家B", attr, v2, is_stack=True, is_label_show=True)
line.render()

折线图-阶梯图示例

line = Line("折线图-阶梯图示例")
line.add("商家A", attr, v1, is_step=True, is_label_show=True)
line.render()

使用 area_opacityarea_opacity用于指定区域透明度,0 为完全不透明(默认),1 为完全透明。

line = Line("折线图-面积图示例")
line.add(
    "商家A",
    attr,
    v1,
    line_opacity=0.2,
    area_opacity=0.4,
    symbol=None,
)
line.add(
    "商家B",
    attr,
    v2,
    is_fill=True,
    area_color="#000",
    area_opacity=0.3,
    is_smooth=True,
)
line.render()
area_opacity -> float
	填充区域透明度
area_color -> str
	填充区域颜色
Note: 可配置 lineStyle 参数
Note: 可以通过 label_color 来设置线条颜色,如 ['#eee', '#000'],所有的图表类型的图例颜色都可通过 label_color 来修改。

如果是对数数据,推荐使用 yaxis_type 参数来设置 y 坐标轴为对数轴

import math, random
line = Line("折线图示例")
line.add("商家A", attr, [math.log10(random.randint(1, 99999)) for _ in range(6)])
line.add(
    "商家B",
    attr,
    [math.log10(random.randint(1, 99999999)) for _ in range(6)],
    yaxis_type="log",
)
line.render()

某地最低温和最高气温折线图 yaxis_formatter

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()
  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值