LINUX.ORG.RU

matplotlib — не рисуются графики с пиксельным маркером

 ,


0

1

Нужно визуализировать множество точек. В документации

'.' point marker
',' pixel marker

Все маркеры, работают, кроме «point marker». Минимальный пример:

#!/usr/bin/python
from __future__ import division, print_function
import numpy as np
import matplotlib.pyplot as plt

n = 10000
xs = np.array([np.random.normal() for i in range(n)])
ys = np.array([np.random.normal() for i in range(n)])

plt.figure()
plt.plot(xs,ys,".g",rasterized=True) #Рисует
plt.plot(xs,ys,",r",rasterized=True) #Не рисует!
plt.show()
ЧЯДНТ?

★★★★★

А если явно в kwargs указать тип маркера?

anonymous ()

У тебя, видимо, старый matplotlib. Баг воспроизводится в 1.4.2, отсутствует в свежем 1.5.3.

lu4nik ★★★ ()

xs = np.array([np.random.normal() for i in range(n)])

Можно просто np.random.normal(size=n). n - это shape, так что легко можно задавать многомерные массивы: xs, ys = np.random.normal(size=(2,n)).

anonymous ()
Ответ на: комментарий от lu4nik

А как свежий лучше на дебе установить без конфликста с системным? Через pip?

thunar ★★★★★ ()
Последнее исправление: thunar (всего исправлений: 1)
Ответ на: комментарий от thunar

Советуют использовать virtualenv, тогда точно всё нормально будет. Я ленивый, поэтому просто сделал pip install --upgrade matplotlib, вроде пока работает. Если нет зависимостей от python-matplotlib у других аптовых пакетов, почему бы не оставить только пиповский?

lu4nik ★★★ ()
Последнее исправление: lu4nik (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.