在回答我之前关于修复 4D 数据散点图像的色彩空间的问题时,Tom10 建议将值绘制为符号,以便仔细检查我的数据。一个好主意。我过去运行过一些类似的演示,但我一生都找不到我记得的演示非常简单。
那么,将数值绘制为散点图中的符号(而不是“o”)的最简单方法是什么? Tom10 建议 plt.txt(x,y,value) - 这是许多示例中使用的实现。然而我想知道是否有一种简单的方法可以从我的数字数组中评估“价值”?可以简单地说: str(valuearray) 吗?
您是否需要一个循环来评估绘图值,如 matplotlib 演示部分中建议的那样3D 文本散点图 https://matplotlib.org/examples/mplot3d/text3d_demo.html?
他们的例子产生:
(source: sourceforge.net http://matplotlib.sourceforge.net/_images/text3d_demo.png)
然而,他们在评估位置以及根据数据更改文本方向方面正在做一些相当复杂的事情。那么,有没有一种可爱的方法来绘制 x,y,C 数据(其中 C 是通常被视为绘图数据中的颜色的值 - 但我希望制作符号)?
再说一次,我认为我们对此有一个公平的答案 - 我只是想知道是否有更简单的方法?
我见过的最简单的方法是:
for x, y, val in zip(x_array, y_array, val_array):
plt.text(x, y, val)
另外,顺便说一句,您建议使用 str(valarray),正如您可能已经注意到的那样,这不起作用。要将数字数组转换为字符串序列,您可以使用
valarray.astype(str)
获取 numpy 数组,或者,
[str(v) for v in valarray]
获取 Python 列表。但即使将 valarray 作为正确的字符串序列,plt.text 也不会迭代其输入。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)