2024-09-28 20:53:57 发布
网友
我试图做一个散点图,并从列表中用不同的数字标注数据点。 例如,我想绘制yvs 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]))
有许多annotate()的格式选项,请参见matplotlib website:
如果有人试图将上述解决方案应用于.scatter()而不是.subplot()
我试着运行以下代码
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]))
但遇到错误,指出“无法解包不可编辑的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()和.subplot()之间会有区别 我早该知道的
在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]))
在这个{a1}中,你可以找到一个3d的例子
我不知道有哪种绘图方法会采用数组或列表,但您可以在迭代
n
中的值时使用annotate()
有许多
annotate()
的格式选项,请参见matplotlib website:如果有人试图将上述解决方案应用于.scatter()而不是.subplot()
我试着运行以下代码
但遇到错误,指出“无法解包不可编辑的PathCollection对象”,错误具体指向代码线fig,ax=plt.scatter(z,y)
我最终用下面的代码解决了这个错误
我没想到.scatter()和.subplot()之间会有区别 我早该知道的
在matplotlib 2.0之前的版本中,无需使用
ax.scatter
来打印没有标记的文本。在2.0版中,您需要ax.scatter
为文本设置适当的范围和标记在这个{a1}中,你可以找到一个3d的例子
相关问题 更多 >
编程相关推荐