在python中做散点图时标记数据
Posted
技术标签:
【中文标题】在python中做散点图时标记数据【英文标题】:Label data when doing a scatter plot in python 【发布时间】:2017-05-12 00:31:52 【问题描述】:我想标记我在 python 中绘制的每个点,但我没有找到合适的方法。
假设我有两个名为 a
和 b
的 n
元素列表,我以这种方式打印它们:
plt.figure()
plt.grid()
plt.plot(a , b , 'bo')
plt.show()
我想用“变量 k”标记每个点,k
的范围显然从 1
到 n
。
感谢您的宝贵时间
【问题讨论】:
How do I set the figure title and axes labels font size in Matplotlib?的可能重复 ^^ 那是为轴设置名称。我相信他想标记每一个点。 你试过什么?请请阅读How to Ask和minimal reproducible example。 Stack Overflow 的质量标准非常高。 你说得对,Dmitry Polonskiy 这正是我想做的事 【参考方案1】:您可以使用label
绘图参数
x = np.random.random(3)
y = np.random.random(3)
z = np.arange(3)
colors = ["red", "yellow", "blue"]
c = ["ro", "yo", "bo"]
for i in z:
plt.plot(x[i], y[i], c[i], label=colors[i] + ' ' + str(i))
plt.legend()
【讨论】:
【参考方案2】:这是我发现的最好的方法:
plt.figure()
plt.scatter(a,b)
labels = ['Variable 0'.format(i+1) for i in range(n)]
for i in range (0,n):
xy=(a[i],b[i])
plt.annotate(labels[i],xy)
plt.plot()
更多信息:Matplotlib: How to put individual tags for a scatter plot
【讨论】:
以上是关于在python中做散点图时标记数据的主要内容,如果未能解决你的问题,请参考以下文章