Python 3.3 pyqtgraph无法绘制点数

时间:2013-10-16 21:45:24

标签: python-3.x plot pyqtgraph

是我,还是不可能使用Python 3.3在pyqtgraph中绘制点(散点图)?

我有相当大的数据*,并且发现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)。

2 个答案:

答案 0 :(得分:4)

创建散点图的正确方法是通过在绘图时指定符号属性(symbol,symbolPen,symbolBrush,symbolSize;参见PlotDataItem API):

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

答案 1 :(得分:0)

非常感谢您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)