Самый простой способ построения значений как символов в графике рассеяния?

StackOverflow https://stackoverflow.com/questions/2954986

Вопрос

В ответе на более ранний вопрос, касающийся исправления цветового пространства для рассеяния изображений 4D данных, Tom10 предложил значения построения значения как символы, чтобы дважды проверить мои данные. Отличная идея. В прошлом я управлял некоторыми подобными демонстрациями, но я не могу на всю жизнь найти демонстрацию, которую я помню, был довольно прост.

Итак, как самый простой способ построить численные значения как символ в графике разброса, а не в «o»? Tom10 предложил plt.txt (x, y, значение)- и это реализация, используемая в ряде примеров. Однако мне интересно, есть ли простой способ оценить «ценность» из моего массива чисел? Можно просто сказать: str (valuearray)?

Нужна ли вам цикл, чтобы оценить значения для построения построения, как предложено в демо -разделах Matplotlib для 3D -текстовые графики рассеяния?

Их пример создает:

alt text
(источник: Sourceforge.net)

Тем не менее, они делают что -то довольно сложное в оценке местоположений, а также изменяют направление текста на основе данных. Итак, есть ли милый способ построить данные 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 не будет повторяться по его входу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top