Python中的气泡图 - 初学者指南

459 阅读2分钟

在本教程中,我们将学习如何使用Matplotlib在Python中创建气泡图。

气泡图是一个散点图,但是散点图上的数据点的大小是由不同的变量来编码的。从本质上讲,如果第三个变量较大,你就会得到一个用颜色填充的较大的圆圈,即一个较大的气泡,而一个较小的气泡则代表较低的数值。


导入必要的模块/库

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

在PYthon中为气泡图创建数据

为了创建气泡图,我们将使用NumPy的随机函数来模拟数据。

我们为散点图构建一个x和y变量,以及为气泡图中气泡的大小构建第三个变量。在Python中,我们可以添加第四个变量来给气泡图上色。

np.random.seed(42)
N = 100
x = np.random.normal(170, 20, N)
y = x + np.random.normal(5, 25, N)
colors = np.random.rand(N)
area = (25 * np.random.rand(N))**2

让我们把模拟的数据放到Pandas的数据框中。在这个例子中,我们使用Pandas的DataFrame方法从NumPy数组中创建一个数据框,并将变量作为字典传递。

df = pd.DataFrame({
    'X': x,
    'Y': y,
    'Colors': colors,
    "bubble_size":area})
df.head()

Bubble Plot Dataset

泡泡图数据集

绘制气泡图

使用Matplotlib和scatter()方法,我们可以在Python中创建一个气泡图。要创建一个气泡图,我们必须使用大小选项 "s "来决定数据点的大小。
在我们的例子中,使用了s='bubble size'。

plt.style.use('ggplot')
plt.scatter('X', 'Y', s='bubble_size',alpha=0.5, data=df)
plt.xlabel("X", size=16)
plt.ylabel("y", size=16)

Bubble Plot 1

泡沫图1

根据大小变量的值,我们可以看到散点图中的小点现在是气泡。Matplotlib默认将气泡染成蓝色。我们还使用了alpha=0.5来给气泡图中的气泡提供透明度。

获取彩色的气泡图

让我们在气泡图中使用另一个变量来给气泡上不同的颜色。颜色可以用scatter()函数的 "c "选项来指定。而我们使用c="Colors "选项,用一个变量给气泡着色。Colors是我们在建立数据框架时定义的定量变量。

plt.scatter('X', 'Y',s='bubble_size',c='Colors',alpha=0.5, data=df)
plt.xlabel("X", size=16)
plt.ylabel("y", size=16)

Bubble Plot Colors 1

泡沫图的颜色


总结

恭喜你!你刚刚学会了如何绘制泡沫图。你刚刚学会了如何在 Python 中绘制一个气泡图。希望你喜欢它!😇

谢谢您抽出时间!希望你能学到新的东西!!😄