2024-04-19 05:27:49 发布
网友
我试图做一个散点图,并用列表中不同的数字注释数据点。 例如,我想绘制y与x的对比图,并用n中的相应数字进行注释。
y
x
n
y = [2.56422, 3.77284, 3.52623, 3.51468, 3.02199] z = [0.15, 0.3, 0.45, 0.6, 0.75] n = [58, 651, 393, 203, 123] ax = fig.add_subplot(111) ax1.scatter(z, y, fmt='o')
有什么想法吗?
我不知道任何带数组或列表的绘图方法,但是可以在迭代n中的值时使用annotate()。
annotate()
y = [2.56422, 3.77284, 3.52623, 3.51468, 3.02199] z = [0.15, 0.3, 0.45, 0.6, 0.75] n = [58, 651, 393, 203, 123] fig, ax = plt.subplots() ax.scatter(z, y) for i, txt in enumerate(n): ax.annotate(txt, (z[i], y[i]))
有很多格式化选项,请参见matplotlib website:
如果有人试图将上述解决方案应用于.scatter()而不是.subblot()
我试着运行以下代码
y = [2.56422, 3.77284, 3.52623, 3.51468, 3.02199] z = [0.15, 0.3, 0.45, 0.6, 0.75] n = [58, 651, 393, 203, 123] fig, ax = plt.scatter(z, y) for i, txt in enumerate(n): ax.annotate(txt, (z[i], y[i]))
但遇到错误,指出“无法解压缩不可iterable PathCollection对象”,错误特别指向代码行fig,ax=plt.scatter(z,y)
我最终用下面的代码解决了这个错误
plt.scatter(z, y) for i, txt in enumerate(n): plt.annotate(txt, (z[i], y[i]))
我没想到.scatter()和.subblot()之间会有区别 我早该知道的。
在早于matplotlib 2.0的版本中,ax.scatter不需要打印没有标记的文本。在2.0版中,需要ax.scatter为文本设置适当的范围和标记。
ax.scatter
y = [2.56422, 3.77284, 3.52623, 3.51468, 3.02199] z = [0.15, 0.3, 0.45, 0.6, 0.75] n = [58, 651, 393, 203, 123] fig, ax = plt.subplots() for i, txt in enumerate(n): ax.annotate(txt, (z[i], y[i]))
在这个link中,你可以在3d中找到一个例子
我不知道任何带数组或列表的绘图方法,但是可以在迭代
n
中的值时使用annotate()
。有很多格式化选项,请参见matplotlib website:
如果有人试图将上述解决方案应用于.scatter()而不是.subblot()
我试着运行以下代码
但遇到错误,指出“无法解压缩不可iterable PathCollection对象”,错误特别指向代码行fig,ax=plt.scatter(z,y)
我最终用下面的代码解决了这个错误
我没想到.scatter()和.subblot()之间会有区别 我早该知道的。
在早于matplotlib 2.0的版本中,
ax.scatter
不需要打印没有标记的文本。在2.0版中,需要ax.scatter
为文本设置适当的范围和标记。在这个link中,你可以在3d中找到一个例子
相关问题 更多 >
编程相关推荐