0

我从 matplotlib 开始,想生成一个气泡图。我从分散演示开始,但我不明白如何准备我的数据。我的目标是得到这个(表面的比例为 1:2:3:4)

在此处输入图像描述

我的代码是

import matplotlib.pyplot as plt

x = [1, 2]
y = [1, 2]
x_label = ["a", "b"]
y_label = ["x", "y"]
size = [100, 200, 300, 400] # I tried wild combinations here
plt.xticks(x, x_label)
plt.yticks(y, y_label)
plt.scatter(x, y, s=size, alpha=0.5)
plt.show()

这会生成以下图(正确的轴,两个相对大小为 1:2 的气泡)

在此处输入图像描述

我不知道如何格式化数据输入,size应该由len(x)*len(y)元素组成但如何排列它们?

4

1 回答 1

2

你的情节命令是错误的;您需要为要绘制的每个点指定x和,因此和y都有 4 个值。xy

有关更多信息,请参阅文档(特别是关于 x 和 y 的形状)

import matplotlib.pyplot as plt

x = [1, 2,1,2]
y = [1, 1,2,2]
x_label = ["a", "b"]
y_label = ["x", "y"]
size = [100, 200, 300, 400] # I tried wild combinations here
plt.xticks([1,2], x_label)
plt.yticks([1,2], y_label)
plt.scatter(x, y, s=size, alpha=0.5)
plt.show()

创建

在此处输入图像描述

于 2014-04-30T11:35:25.390 回答