首页 > 解决方案 > 如何在 Python 或 matlab 中创建叠加气泡图?

问题描述

我正在尝试在 python 中创建气泡图。我的数据集看起来像这样。

Year   (Total students)  (Number Passed)
-----------------------------------------
2011       (500)              (250)
2012       (350)              (150)
2013       (348)              (100)

基本上我想做的是创建一个气泡图,将每年通过的学生人数叠加在学生总数上。这些值将是气泡图的大小。如何使用 python 或 matlab 实现这一点?

编辑:

实际数据集有 17 行 3 列。

我按照建议使用了代码,这就是我得到的。 我的情节使用建议的代码的结果

有什么我做错了吗?

标签: pythonmatplotlibseabornmatlab-figurebubble-chart

解决方案


假设您的数据在 DataFrame 中,您可以执行以下操作:

from matplotlib import pyplot as plt
s = len(df.index)
plt.scatter(df["Year"], np.ones(s), s=df["Total Students"]*20, alpha=0.6)
plt.scatter(df["Year"], np.ones(s), s=df["Number Passed"]*20, alpha=0.4)

plt.yticks([])
plt.xticks(df["Year"])

plt.show()

给予:

在此处输入图像描述

但我不确定这是否是您数据的最佳可视化,或者,实际上,您的问题要求什么。


推荐阅读