Python 3.3 pyqtgraph не может строить точки

Это я или невозможно построить точки (диаграммы рассеяния) в pyqtgraph с помощью Python 3.3?

У меня довольно большие данные *, и я считаю, что matplotlib слишком медленный, поэтому я хотел бы попробовать это:

1) pyqtgraph.plot([1],[1]) ничего не показывает в сюжете.

2) pyqtgraph.plot([1,2,3,4], [1,2,3,4]) показывает линию, соединяющую точки

3) pyqtgraph.plot([1,2,3,4], [1,2,3,4], pen=None) как предположили документы, ошибки **

4) pyqtgraph.ScatterPlotItem() не существует.

Я не знаю, что попробовать больше... Кто-нибудь получил это работает и будет готов поделиться кодом?


* Мне известна ирония с данными, которые я представляю, прости меня.

** TypeError: неподдерживаемые типы операндов для -: 'NoneType' и 'NoneType'.

*** Возможно, не связано, но я также не могу запустить примеры (Ubuntu 13.04).

1 ответ

Решение

Правильный способ создания точечной диаграммы - указать свойства символа при построении (symbol, symbolPen, symbolBrush, symbolSize; см. API PlotDataItem):

pg.plot([1,2,3,4], [1,2,3,4], pen=None, symbol='o')

Или путем непосредственного создания ScatterPlotItem, который, кажется, существует на моем конце:

>>> import pyqtgraph as pg
>>> pg.ScatterPlotItem
<class 'pyqtgraph.graphicsItems.ScatterPlotItem.ScatterPlotItem'>

Увидеть examples/ScatterPlot.py о том, как использовать последний метод.

Большое спасибо, Luke. Я смог найти решение с помощью вашего ответа.

x = np.float64(10.5)
y = np.float64(6.4)
x_gap = (0.001 * x) / 100.0
y_gap = (0.001 * y) / 100.0
x_list = [(x - gap_q), x, (x + gap_q), x]
y_list = [(y), (y + y_gap), y, (y - y_gap)]
pg.plot(x_list, y_list,
              pen=None,
              name="BEP",
              symbol='o',
              symbolPen=pg.mkPen(color=(0, 0, 255), width=0),                                      
              symbolBrush=pg.mkBrush(0, 0, 255, 255),
              symbolSize=7)
Другие вопросы по тегам