pip install pyecharts -U
本次使用jupyter notebook编写代码
折线图
# 引入相关包
from pyecharts.faker import Faker #faker数据构造器
from pyecharts import options as opts
from pyecharts.charts import Line
(
Line()
.add_xaxis(Faker.choose())
.add_yaxis('组A', Faker.values())
.add_yaxis('组B', Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title='基本折线图')
)
).render_notebook()
阶梯图
在绘制折线图时,添加Y轴数据时设置is_step参数为True,就能得到阶梯图
(
Line()
.add_xaxis(Faker.days_attrs)
.add_yaxis('', Faker.days_values, is_step=True)
.set_global_opts(
title_opts=opts.TitleOpts(title='阶梯图')
)
).render_notebook()
平滑曲线图
在绘制折线图时,添加Y轴数据时设置is_smooth参数为True,就能得到平滑曲线图
(
Line()
.add_xaxis(Faker.days_attrs)
.add_yaxis('', Faker.days_values, is_smooth=True)
.set_global_opts(
title_opts=opts.TitleOpts(title='平滑曲线图')
)
).render_notebook()
面积图
在绘制折线图时,添加Y轴数据时设置areastyle_opts=AreaStyleOpts(opacity=**)
opacity=0.5,设置面积透明度
(
Line()
.add_xaxis(Faker.choose())
.add_yaxis('组A', Faker.values(), areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
.add_yaxis('组B', Faker.values(), areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
.set_global_opts(
title_opts=opts.TitleOpts(title='基本面积图')
)
).render_notebook()
K线图
from pyecharts.charts import Candlestick
#构造数据
x_data = ["2022-10-24", "2022-10-25", "2022-10-26", "2022-10-27"]
y_data = [[20, 28, 10, 35], [40, 35, 30, 55], [33, 38, 33, 40], [40, 38, 32, 42]]
#绘图
(
Candlestick()
.add_xaxis(x_data)
.add_yaxis(series_name='', y_axis=y_data)
).render_notebook()
常用配置项
全局配置项
提示框配置项:TooltipOpts
(
Line()
.add_xaxis(Faker.choose())
.add_yaxis('组A', Faker.values())
.add_yaxis('组B', Faker.values())
.set_global_opts(
tooltip_opts=opts.TooltipOpts(trigger='axis')
)
).render_notebook()
视觉映射配置项:VisualMapOpts
(
Line()
.add_xaxis(aqi_data['日期'].tolist())
.add_yaxis('',
aqi_data['AQI'].tolist(),
is_smooth=True,
is_symbol_show=False
)
.set_global_opts(
title_opts=opts.TitleOpts(title='空气质量指数'),
tooltip_opts=opts.TooltipOpts(trigger='axis'),
visualmap_opts=opts.VisualMapOpts(
pos_top="10",
pos_right="10",
is_piecewise=True,
pieces=[
{"min": 0, "max": 50, "color": "#096"},
{"min": 50, "max": 100, "color": "#ffde33"},
{"min": 100, "max": 150, "color": "#ff9933"},
{"min": 150, "max": 200, "color": "#cc0033"},
{"min": 200, "max": 300, "color": "#660099"},
{"min": 300, "color": "#7e0023"},
],
out_of_range={"color": "#999"},
),
)
).render_notebook()
其他配置项
折线样式:LineStyleOpts, ItemStyleOpts
(
Line()
.add_xaxis(Faker.choose())
.add_yaxis(
'组A',
Faker.values(),
symbol='circle', #标记类型:'circle', 'rect', 'roundRect', 'triangle'等
symbol_size=20,
linestyle_opts=opts.LineStyleOpts(color="red", width=4, type_="dashed"),
itemstyle_opts=opts.ItemStyleOpts(
border_width=3, border_color="pink", color="blue"
),
)
).render_notebook()