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")
)    

输出结果为:

 

原文地址:https://www.cnblogs.com/erlchixiha/p/11944507.html