您的位置:

学会用Python ECharts制作精美图表

在这个数据爆炸的时代,如何更好地展现数据是每个数据分析人员、数据工程师都需要掌握的技能。而ECharts是一款非常优秀的可视化工具,它不仅能够帮助人们更好地展示数据,还拥有强大的交互能力。本文将以Python为例,讲解如何使用ECharts制作精美的图表。

一、ECharts简介

ECharts是由百度前端开发团队Baidu EFE开发的一款纯Javascript图表库,它基于Canvas和SVG两种技术实现,可以支持柱状图、折线图、散点图、地图、饼图等常见的图表类型,并且具有良好的交互能力。

ECharts的主要特点是:

  • 功能丰富:支持多种常见的图表类型及组合图表。
  • 易于使用:提供丰富的配置项,使用起来非常灵活。
  • 性能出色:使用Canvas和SVG两种技术实现,并且进行了大量优化。
  • 社区庞大:ECharts有着庞大且活跃的社区,在Github上有超过2万个star。

二、使用Python ECharts绘制图表

Python是一门非常流行的数据分析语言,拥有丰富的数据分析库和可视化工具。这里我们主要讲解如何使用Python ECharts库绘制图表。

1. 安装ECharts

在Python中使用ECharts需要先安装pyecharts这个包,它是ECharts的Python接口。可以使用pip进行安装。

pip install pyecharts

2. 绘制柱状图

假设有一份学生成绩表,现在需要绘制不同科目(语文、数学、英语)的平均成绩柱状图。可以使用如下代码:

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

# 准备数据
subjects = ['语文', '数学', '英语']
scores = [86, 92, 88]

# 绘制柱状图
bar = (
    Bar()
    .add_xaxis(subjects)
    .add_yaxis('平均成绩', scores)
    .set_global_opts(title_opts=opts.TitleOpts(title='学科平均成绩柱状图'))
)
bar.render('bar_chart.html')  # 将图表保存为HTML文件

代码中使用了pyecharts中的Bar类来绘制柱状图,使用add_xaxis方法将x轴数据添加到图表中,使用add_yaxis方法将y轴数据添加到图表中。最后使用set_global_opts方法设置图表的标题。

上述代码生成的图表如下:

3. 绘制折线图

假设有一份天气数据,现在需要绘制每天的最高气温和最低气温折线图。可以使用如下代码:

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

# 准备数据
dates = ['2021-08-01', '2021-08-02', '2021-08-03', '2021-08-04', '2021-08-05']
max_temps = [31, 32, 34, 33, 32]
min_temps = [27, 25, 26, 27, 25]

# 绘制折线图
line = (
    Line()
    .add_xaxis(dates)
    .add_yaxis('最高气温', max_temps, is_symbol_show=True)
    .add_yaxis('最低气温', min_temps, is_symbol_show=True)
    .set_global_opts(title_opts=opts.TitleOpts(title='天气变化折线图'))
)
line.render('line_chart.html')  # 将图表保存为HTML文件

代码中使用了pyecharts中的Line类来绘制折线图,使用add_xaxis方法将x轴数据添加到图表中,使用add_yaxis方法将y轴数据添加到图表中。is_symbol_show设置为True可以让每个数据点显示一个小圆圈,方便查看数据的具体数值。最后使用set_global_opts方法设置图表的标题。

上述代码生成的图表如下:

4. 绘制散点图

假设有一份人口数据,现在需要绘制不同城市的人口数量和GDP之间的散点图。可以使用如下代码:

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

# 准备数据
cities = ['北京', '上海', '广州', '深圳']
populations = [2153, 2424, 1500, 1300]
gdps = [34788, 38155, 22271, 24402]

# 绘制散点图
scatter = (
    Scatter()
    .add_xaxis(gdps)
    .add_yaxis('人口数量(万人)', populations, symbol_size=20)
    .set_global_opts(title_opts=opts.TitleOpts(title='人口数量和GDP散点图'))
)
scatter.render('scatter_chart.html')  # 将图表保存为HTML文件

代码中使用了pyecharts中的Scatter类来绘制散点图,使用add_xaxis方法将x轴数据添加到图表中,使用add_yaxis方法将y轴数据添加到图表中。symbol_size设置为20可以让每个散点的大小变大,方便查看数据的具体数值。最后使用set_global_opts方法设置图表的标题。

上述代码生成的图表如下:

三、总结

ECharts是一款非常优秀的可视化工具,它可以帮助我们更好地展示数据,还拥有强大的交互能力。在Python中使用ECharts非常方便,只需要安装pyecharts这个包,就可以快速编写出精美的图表。本文主要介绍了如何使用Python ECharts绘制柱状图、折线图和散点图,相信读者可以根据这些示例快速掌握ECharts的使用方法。