pyecharts图实例
折线图1
import pyecharts.options as opts
from pyecharts.charts import Line
x_data = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
y_data = [820, 932, 901, 934, 1290, 1330, 1320]
(
Line()
.set_global_opts(
# 是否显示工具栏组件
tooltip_opts = opts.TooltipOpts(is_show=True),
# 类目轴,适用于离散的类目数据,为该类型时必须通过 data 设置类目数据。(坐标轴配置项)
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),
)
)
.add_xaxis(
xaxis_data = x_data)
.add_yaxis(
series_name="销售额",
y_axis=y_data,
# 标记的图形
symbol="emptyCircle",
# 是否显示symbol
is_symbol_show=True,
# 标签配置项 显示标签
# 值为True时每个点上为对应的数值
label_opts=opts.LabelOpts(is_show=False),
)
.render("basic_line_chart.html")
)
输出结果为:
堆叠区域折线图
from pyecharts.charts import Line
import pyecharts.options as opts
x_data = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
(
Line()
.add_xaxis(xaxis_data=x_data)
.add_yaxis(
series_name="邮件营销",
# 数据堆叠,同个类目轴上系列配置相同的 stack 值可以堆叠放置
stack="总量",
y_axis=[120, 132, 101, 134, 90, 230, 210],
# 是否显示标签(标签配置项)
label_opts=opts.LabelOpts(is_show=False),
)
.add_yaxis(
series_name="联盟广告",
# 数据堆叠,同个类目轴上系列配置相同的 stack 值可以堆叠放置
stack="总量",
y_axis=[220, 182, 191, 234, 290, 330, 310],
# 是否显示标签(标签配置项)
label_opts=opts.LabelOpts(is_show=False),
)
.add_yaxis(
series_name="视频广告",
# 数据堆叠,同个类目轴上系列配置相同的 stack 值可以堆叠放置
stack="总量",
y_axis=[150, 232, 201, 154, 190, 330, 410],
# 是否显示标签(标签配置项)
label_opts=opts.LabelOpts(is_show=False),
)
.add_yaxis(
series_name="直接访问",
# 数据堆叠,同个类目轴上系列配置相同的 stack 值可以堆叠放置
stack="总量",
y_axis=[320, 332, 301, 334, 390, 330, 320],
# 是否显示标签(标签配置项)
label_opts=opts.LabelOpts(is_show=False),
)
.add_yaxis(
series_name="搜索引擎",
# 数据堆叠,同个类目轴上系列配置相同的 stack 值可以堆叠放置
stack="总量",
y_axis=[820, 932, 901, 934, 1290, 1330, 1320],
# 是否显示标签(标签配置项)
label_opts=opts.LabelOpts(is_show=False),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="折线图堆叠"),
# 坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用(提示框配置项)
tooltip_opts=opts.TooltipOpts(trigger="axis"),
# 坐标轴配置项
yaxis_opts=opts.AxisOpts(
type_="value",
# 显示坐标轴刻度(坐标轴刻度配置项)
axistick_opts=opts.AxisTickOpts(is_show=True),
# 显示分割线(坐标轴分割线配置项)
splitline_opts=opts.SplitLineOpts(is_show=True),
),
# 坐标轴两边留白策略,默认为True
xaxis_opts=opts.AxisOpts(type_="category",boundary_gap=False)
)
.render("stacked_line_chart.html")
)
输出结果为:
词云图
import pyecharts.options as opts
from pyecharts.charts import WordCloud
data = [
("生活资源", "999"),
("供热管理", "888"),
("供气质量", "777"),
("生活用水管理", "688"),
("一次供水问题", "588"),
("交通运输", "516"),
("城市交通", "515"),
("环境保护", "483"),
("房地产管理", "462"),
("城乡建设", "449"),
("社会保障与福利", "429"),
("社会保障", "407"),
("文体与教育管理", "406"),
("公共安全", "406"),
("公交运输管理", "386"),
("出租车运营管理", "385"),
("供热管理", "375"),
("市容环卫", "355"),
("自然资源管理", "355"),
("粉尘污染", "335"),
("噪声污染", "324"),
("土地资源管理", "304"),
("物业服务与管理", "304"),
("医疗卫生", "284"),
("粉煤灰污染", "284"),
("占道", "284"),
("供热发展", "254"),
("农村土地规划管理", "254"),
("生活噪音", "253"),
("供热单位影响", "253"),
("城市供电", "223"),
("房屋质量与安全", "223"),
("大气污染", "223"),
("房屋安全", "223"),
("文化活动", "223"),
("拆迁管理", "223"),
("公共设施", "223"),
("供气质量", "223"),
("供电管理", "223"),
("燃气管理", "152"),
("教育管理", "152"),
("医疗纠纷", "152"),
("执法监督", "152"),
]
(
WordCloud()
.add(series_name="热点分析",data_pair=data,shape="diamond",word_size_range=[5,60],rotate_step=45)
.set_global_opts(
# 标题配置项
title_opts=opts.TitleOpts(
title="热点分析",title_textstyle_opts=opts.TextStyleOpts(font_size=40,font_family="Arial")
),
# 提示框组件配置
tooltip_opts = opts.TooltipOpts(is_show=True),
)
# 输出
.render("wordcloud.html")
)
输出结果为: