【问题标题】:Python 3.3 pyqtgraph can't plot pointsPython 3.3 pyqtgraph 无法绘制点
【发布时间】:2013-10-25 05:20:09
【问题描述】:

是我,还是无法使用 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)。

【问题讨论】:

  • 您应该更改标签,以便获得您实际使用的库,而不是您没有使用的库
  • @tcaswell "Point" 被拿走了。
  • 您应该在 pyqtgraph 邮件列表中发布关于运行示例的问题。

标签: python-3.x plot pyqtgraph


【解决方案1】:

创建散点图的正确方法是在绘图时指定符号属性(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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-07
      • 2015-04-02
      • 2018-03-11
      • 1970-01-01
      • 2013-06-10
      • 2015-06-05
      • 2020-06-12
      • 1970-01-01
      相关资源
      最近更新 更多