首页 > 编程知识 正文

Python ECharts教程

时间:2023-11-20 06:53:33 阅读:289004 作者:SACY

本文将从以下几个方面详细介绍Python ECharts的使用方法。

一、安装与配置

1、 安装ECharts-Python库

ECharts-Python是Apache ECharts (incubating)的Python库,它支持最新的 ECharts 5.x 版本。


!pip install pyecharts==1.9.0

2、加载主题 (可选)

代码中可以加载主题,让图表更具有可读性和美感。


from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.globals import ThemeType

bar = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
    .add_xaxis(["1", "2", "3", "4", "5", "6"])
    .add_yaxis("A", [6, 7, 8, 7, 6, 5])
    .set_global_opts(title_opts=opts.TitleOpts(title="Bar-Themes"))
)
bar.render("bar_themes.html")

二、基本图表

1、柱状图

ECharts-Python中提供了非常丰富的基础图表类型,比如柱状图、线性图、散点图、饼图、雷达图、热力图等。其中,柱状图是一种常见的可视化图表类型。


from pyecharts import options as opts
from pyecharts.charts import Bar

x_data = ["Shanghai", "Beijing", "Guangzhou", "Shenzhen", "Chengdu", "Chongqing"]
y_data = [1140, 724, 1500, 345, 285, 812]

bar = (
    Bar()
    .add_xaxis(x_data)
    .add_yaxis("销售额", y_data)
    .set_global_opts(title_opts=opts.TitleOpts(title="柱状图"), xaxis_opts=opts.AxisOpts(name="城市"), yaxis_opts=opts.AxisOpts(name="销售额"))
)

bar.render("bar_basic.html")

2、折线图

折线图是一种在二维平面上用直线段连接折点的图形,用于表示数据按时间排列的变化情况。


from pyecharts import options as opts
from pyecharts.charts import Line
from random import randint

x_data = range(1, 11)
y_data = [randint(1, 30) for i in x_data]

line = (
    Line()
    .add_xaxis(xaxis_data=x_data)
    .add_yaxis(
        series_name="累计数",
        y_axis=y_data,
        label_opts=opts.LabelOpts(is_show=False),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="折线图"),
        tooltip_opts=opts.TooltipOpts(trigger="axis"),
        xaxis_opts=opts.AxisOpts(name="x轴"),
        yaxis_opts=opts.AxisOpts(name="y轴")
    )
)

line.render("line_basic.html")

三、高级图表

1、饼图

饼图一般用于显示数据在总量中的占比,不方便比较数量多的数据,适合数据分类数比较少的情况。


from pyecharts import options as opts
from pyecharts.charts import Pie

x_data = ["A", "B", "C", "D", "E"]
y_data = [11, 22, 33, 44, 55]

pie = (
    Pie()
    .add(
        "",
        [list(z) for z in zip(x_data, y_data)],
        radius=["50%", "70%"],
        label_opts=opts.LabelOpts(formatter="{b}: {d}%"),
    )
    .set_global_opts(title_opts=opts.TitleOpts(title="饼图"))
    .set_series_opts(tooltip_opts=opts.TooltipOpts(formatter="{b}: {d}%"))
)

pie.render("pie_basic.html")

2、热力图

热力图一般用于呈现密度分布情况,在计量分析方面比较常见,可以很好的将近似于一维的离散数据在平面上呈像。


from pyecharts import options as opts
from pyecharts.charts import HeatMap

x_data = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
y_data = ["Morning", "Noon", "Afternoon", "Night"]
data = [
    [25, 36, 58, 36, 25, 45, 68],
    [30, 36, 52, 46, 32, 29, 50],
    [20, 28, 34, 48, 58, 39, 54],
    [34, 45, 57, 62, 59, 47, 35]
]

heatMap = (
    HeatMap()
    .add_xaxis(xaxis_data=x_data)
    .add_yaxis(series_name="", yaxis_data=y_data, value=data)
    .set_global_opts(
        title_opts=opts.TitleOpts(title="热力图"),
        xaxis_opts=opts.AxisOpts(name="星期"),
        yaxis_opts=opts.AxisOpts(name="时间"),
        visualmap_opts=opts.VisualMapOpts(min_=0, max_=70),
    )
)

heatMap.render("heatmap_basic.html")

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。