python可视化图表库

大家好,小编来为大家解答以下问题,一个有趣的事情,一个有趣的事情,今天让我们一起来看看吧!

目录

前言

一、安装Pyecharts

二、代码示例

1.导入Pyecharts

2.导入表格

3.数据处理

4.生成柱状图

5.图表展示

6.完整代码

三、可视化图形示例

1.箱型图

2.世界地图

3.中国地图

4.某省级地图

5.某县级地图

6.词云 

四、自定义图形

五、其他可视化库

六、总结


前言

当谈到数据可视化时,Python是一个非常强大的工具。Python有很多可视化库,其中最流行的是 Matplotlib和SeabornDeepl降重。除此之外,还有—些其他的可视化库,如Plotly、Bokeh 和Pyecharts等。在本篇博客中,我们将重点介绍Pyecharts,因为它提供了丰富的图表类型和配置选项,可以帮助我们轻松地创建出好看的数据可视化图表。

本篇博客仅供参考,更多的是自己的学习笔记,希望可以对其他人有帮助。
 

一、安装Pyecharts

Pyecharts是一个基于JavaScript的可视化库,它提供了各种类型的图表,包括折线图、散点图、柱状图、饼图、地图、关系图等等。
Pyecharts的优点是易于使用,可以快速创建好看的图表。

在使用Pyecharts时,需要安装Pyecharts库和其依赖项,可以使用pip命令来安装Pyecharts

pip install pyecharts

我一般在Anaconda Prompt里安装

安装完之后,可以直接在Anaconda Prompt里查看是否安装成功和版本号

也可以使用以下命令来检查Pyecharts是否安装成功,如果输出了版本号,则说明安装成功

import pyecharts
print(pyecharts.__version__)

二、代码示例

1.导入Pyecharts

在Pyecharts代码中,需要导入Pycharts库

from pyecharts.charts import *
from pyecharts import options as opts
2.导入表格

在导入表格前,需要导入Pandas库,没有的可以使用pip命令来安装Pandas

pip install pandas
# 导入所需的库
import pandas as pd

# 导入表格
data = pd.read_excel('面包牛奶销量.xlsx')

# 查看表格
data

表格数据:

3.数据处理
# 数据处理
dates = data['日期'].tolist()
milk_sales = data['牛奶'].tolist()
bread_sales = data['面包'].tolist()

使用Pandas库中的tolist()函数将“日期”、“面包”和“牛奶”三列数据转换为Python列表,以便后续使用。

4.生成柱状图

在Pyecahrts中,可以使用不同的类来创建不同类型的图表。以下是一些常用的类:

-Line:用于创建折线图

-Bar:用于创建柱状图

-Pie:用于创建饼图

-Scatter:用于创建散点图

-Map:用于创建地图

以下是一个简单的例子,展示如何使用Pyecharts创建一个柱状图:

# 生成柱形图
bar = (
    Bar()
    .add_xaxis(dates)
    .add_yaxis('牛奶', milk_sales)
    .add_yaxis('面包', bread_sales)
    .set_global_opts(title_opts=opts.TitleOpts(title='牛奶和面包销量对比'))
)

在这段代码中,使用了Pyecharts库中的Bar()函数创建了一个柱形图对象,并使用add_xaxis()函数将“日期”列表作为X轴数据,使用add_yaxis()函数将“牛奶”和“面包”作为列表分别作为两个Y轴函数。最后使用set_global_opts()函数设置了图表的标题。

5.图表展示
# 展示图表
# bar.render()

# 在Notebook中展示
bar.render_notebook()

在这段代码中,使用了Pyecharts库中的render_notebook()函数将生成的柱形图渲染到Jupyter Notebook中。这个函数可以将图表嵌入到Notebook中,方便我们在Notebook中查看和分析数据。如果想将图表保存为一个HTML文件,可以注释掉bar.render_notebook()并运行bar.render()。

6.完整代码
import pandas as pd
from pyecharts.charts import Bar
from pyecharts import options as opts

# 导入表格
data = pd.read_excel('面包牛奶销量.xlsx')

# 数据处理
dates = data['日期'].tolist()
milk_sales = data['牛奶'].tolist()
bread_sales = data['面包'].tolist()

# 生成柱形图
bar = (
    Bar()
    .add_xaxis(dates)
    .add_yaxis('牛奶', milk_sales)
    .add_yaxis('面包', bread_sales)
    .set_global_opts(title_opts=opts.TitleOpts(title='牛奶和面包销量对比'))
)

# 展示图表
# bar.render()

# 在Notebook中展示
bar.render_notebook()

效果图: 

三、可视化图形示例

我个人对可视化地图和很多新奇好玩的可视化图形很感兴趣,以下是一些可视化图形示例:

1.箱型图

箱型图是一种用于展示数据分布情况的图表,可以显示数据的中位数、四分位数、异常值情况等信息。

代码:

from pyecharts.charts import Boxplotimport random

data = [[random.randint(0, 100) for _ in range(10)] for _ in range(4)]
x_axis = ['data{}'.format(i) for i in range(1, 5)]

boxplot = Boxplot()
boxplot.add_xaxis(x_axis)
boxplot.add_yaxis("", boxplot.prepare_data(data))
boxplot.set_global_opts(title_opts=opts.TitleOpts(title="Boxplot"))
boxplot.render("boxplot.html")

代码使用了pyecharts库中的Boxplot类来绘制箱线图。

1.生成一个包含四组随机数据的列表data,每组数据包含十个随机整数。

2.创建一个包含四个字符串的列表x_axis,用于指定每组数据的名称。

3.创建一个Boxplot对象,并使用add_xaxis方法将x_axis列表中的字符串作为x轴标签添加到图表中。

4.使用add_yaxis方法将数据添加到图表中,并使用prepare_data方法将数据转换为箱线图所需的格式。

5.使用set_global_opts方法设置图表标题,并使用render方法将图表存为HTML文件。

 效果图:

2.世界地图

代码:

from pyecharts import options as optsfrom pyecharts.charts import Map
data = [("China", 100), ("United States", 80), ("Russia", 60), ("Japan", 50), ("Germany", 40)]
world_map = (
    Map()
    .add("", data, "world")
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
        title_opts=opts.TitleOpts(title="世界地图"),
        visualmap_opts=opts.VisualMapOpts(max_=100),
        )
    )
world_map.render("world_map.html")

代码使用了pyecharts库中的Map类来绘制世界地图。

1.创建—个包含五个元组的列表data,每个元组包含一个国家名称和一个整数值。

2.创建一个Map对象,并使用add方法将数据添加到图表中。其中,第二个参数“world"表示绘制世界地图。

3.使用set_series_opts方法设置系列选项,将标签设置为不可见。

4.使用set_global_opts方法设置图表标题和视觉映射选项。其中,max_参数指定了视觉映射的最大值。

5.使用render方法将图表保存为HTML文件。

效果图:

如果需要在Jupyter Notebook中显示图表,可以使用NotebookRender类来渲染图表并在Notebook中显示:

from pyecharts.render import NotebookRender
# 创建图表对象
world_map = (
    Map()
    .add("", data, "world")
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
        title_opts=opts.TitleOpts(title="世界地图"),
        visualmap_opts=opts.VisualMapOpts(max_=100),
        )
    )
# 渲染图表并在 Notebook 中显示
NotebookRender().render(world_map)
3.中国地图

代码:

# 导入必要的库和模块
from pyecharts import options as optsfrom pyecharts.charts 
import Mapfrom pyecharts.faker 
import Faker

# 创建一个Map对象并设置地图的基本属性
map = Map()map.set_global_opts(
    title_opts=opts.TitleOpts(title="中国地图"),
    visualmap_opts=opts.VisualMapOpts(max_=200),
)

# 添加数据并设置数据的属性
map.add("中国地图", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")

# 渲染地图保存
map.render("china_map.html")

代码使用pyecharts库中的Map类来绘制中国地图。

1.创建一个Map对象,并使用set_global_opts方法设置图表标题和视觉映射选项。其中,max_参数指定了视觉映射的最大值。

2.使用add方法将数据添加到图表中。其中,第一个参数“中国地图"表示数据系列的名称,第二个参数是一个列表,包含了每个省份的名称和—个随机整数值。

3.使用render方法将图表保存为HTML文件。

效果图:

4.某省级地图

以广东省为例

代码:

from pyecharts import options as optsfrom pyecharts.charts import Map
map = Map()map.set_global_opts(
    title_opts=opts.TitleOpts(title="广东省地图"),
    visualmap_opts=opts.VisualMapOpts(max_=200),
)

data = [("广州市", 200), ("深圳市", 100), ("珠海市", 50), ("汕头市", 80), ("韶关市", 70), ("佛山市", 60), ("江门市", 30), ("湛江市", 40), ("茂名市", 20), ("肇庆市", 10), ("惠州市", 90), ("梅州市", 100), ("汕尾市", 50), ("河源市", 30), ("阳江市", 20), ("清远市", 40), ("东莞市", 60), ("中山市", 70), ("潮州市", 80), ("揭阳市", 90), ("云浮市", 100)]map.add("广东省", data, "广东")
map.render("guangdong_map.html")

这段代码使用了pyecharts库中的Map类来绘制广东省地图。

1.创建一个Map对象,并使用set_global_opts方法设置图表标题和视觉映射选项。其中,max_参数指定了视觉映射的最大值。

2.创建一个包含二十一个元组的列表data,每个元组包含一个城市名称和一个整数值。

3.使用add方法将数据添加到图表中。其中,第一个参数“广东省"表示数据系列的名称,第二个参数是一个列表,包含了每个城市的名称和一个整数值。

4.使用“广东"参数指定了地图类型,并使用render方法将图表保存为HTML文件。

效果图:

5.某县级地图

代码:

from pyecharts.charts import Mapfrom pyecharts import options as opts
# 创建地图实例
map_gy = Map()
# 添加数据
map_gy.add("贵阳", [("南明区", 100), ("云岩区", 200), ("花溪区", 300), ("乌当区", 400), ("白云区", 500), ("观山湖区", 600), ("清镇市", 700), ("开阳县", 800), ("息烽县", 900), ("修文县", 1000)], "贵州")
# 设置全局参数
map_gy.set_global_opts(
    title_opts=opts.TitleOpts(title="贵阳地图"),
    visualmap_opts=opts.VisualMapOpts(max_=1000, is_piecewise=True),
)
# 渲染地图# map_gy.render("贵阳地图.html")
map_gy.render_notebook()

在这段代码中,不同上面的代码使用render方法将图表保存为HTML文件,而是使用了render_notebook()方法,所以可以在Notebook中直接看到地图,如果想保存为HTML文件,可以注释掉map_gy.render_notebook(),运行map_gy.render("贵阳地图.html")代码。

效果图:

6.词云 

代码:

from pyecharts.charts import WordCloudfrom pyecharts import options as opts

words = [("Python", 100), ("Java", 80), ("C++", 60), ("JavaScript", 50), ("PHP", 40), ("HTML", 30), ("CSS", 20), ("SQL", 10)]

wordcloud = (
    WordCloud()
    .add("", words, word_size_range=[20, 100])
    .set_global_opts(title_opts=opts.TitleOpts(title="编程语言词云图"))
)

wordcloud.render("programming_language_wordcloud.html")

代码使用pyecharts 库中的 Wordcloud类来绘制编程语言词云图。

1.创建一个包含八个元组的列表words,每个元组包含一个编程语言名称和一个整数值。

2.创建一个WordCloud对象,并使用add 方法将数据添加到图表中。其中,第一个参数“"表示数据系列的名称,第二个参数是一个列表,包含了每个词语的名称和一个整数值。

3.使用word_size_range参数设置词语的大小范围,并使用set_global_opts方法设置图表标题,并使用render方法将图表保存为HTML文件。

效果图:

四、自定义图形

Pyecharts提供了很多配置选项,可以帮助我们自定义图像。以下是一些常用的配置选项:

-title:设置图表的标题。

-title_opts:设置图表标题的样式何位置。

-legend_opts:设置图例的样式何位置。

-xlabel和ylabel:设置X轴和Y轴的标签。

-xticks和yticks:设置X轴和Y轴的刻度。

-xaxis_opts和yaxis_opts:设置X轴和Y轴的样式和位置。

-xlim和ylim:设置X轴和Y轴的范围。

-legend:设置图例。

-grid:设置是否显示网格线。

-style:设置图表的样式。

-color:设置图表的颜色。

-fontsize:设置字体的大小。

-visualmap_opts:设置视觉映射组件的样式和位置。

-dpi:设置图表的分辨率。

可以根据自己的需求,使用这些配置选项来自定义图形。

五、其他可视化库

除了Pyecharts,Python还有很多其他的可视化库。以下是一些常用的可视化库:

-Matplotlib:一个基础的可视化库,提供了各种类型的图表。

-Seaborn:一个基于Matplotlib的高级可视化库,提供了更多的图表类型和样式。

-Plotly:一个交互式可视化库,提供了各种类型的图表和动画效果。

-Bokeh:一个交互式可视化库,提供了各种类型的图表和工具栏。

六、总结

Python是一个非常强大的数据可视化工具,有很多可视化库可以选择,在本篇笔记中,我重点记了Pyecharts,它提供了丰富发图表类型和配置选项,可以帮助我们轻松地创建出好看的数据可视化图表。除此之外,还记了其他常用的可视化库,希望能够对其他人有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值