3

在回答我之前关于修复 4D 数据散点图像的色彩空间的问题时,Tom10 建议将值绘制为符号,以便仔细检查我的数据。一个绝妙的主意。我过去曾运行过一些类似的演示,但我一生都找不到我记得的演示非常简单。

那么,例如,将数值绘制为散点图中的符号而不是“o”的最简单方法是什么?Tom10 建议 plt.txt(x,y,value)- 这是许多示例中使用的实现。然而,我想知道是否有一种简单的方法可以从我的数字数组中评估“价值”?可以简单地说: str(valuearray) 吗?

您是否需要一个循环来评估3D 文本散点图的 matplotlib 演示部分中建议的绘图值?

他们的例子产生:

替代文字
(来源:sourceforge.net

但是,他们在评估位置以及根据数据更改文本方向时做了一些相当复杂的事情。那么,有没有一种可爱的方法来绘制 x,y,C 数据(其中 C 是一个值,通常作为绘图数据中的颜色 - 但我希望制作符号)?

同样,我认为我们对此有一个公平的答案——我只是想知道是否有更简单的方法?

4

1 回答 1

2

我见过的最简单的方法是:

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 也不会迭代它的输入。

于 2010-06-05T23:49:34.677 回答