【问题标题】:how can I set a dot / bar on specific section of a line plot in pyqtgraph?如何在pyqtgraph中线图的特定部分设置点/条?
【发布时间】:2018-06-28 18:23:24
【问题描述】:

我已经开始玩 pyqtgraph 绘制折线图了。

我需要在线条的某些部分绘制特定的点。

我发现为了让点出现在行上, 绘制 E.g 时我需要使用 symbolBrush

curve3 = p1.plot(pen=(2,5) , name="trade" , symbolBrush=2)

但问题是它在整行上显示点,

我似乎找不到为特定点/部分绘制点的方法。

我们将不胜感激

编辑: 例如,在所附图像中,假设我只想在标记为 (1,1) 的位置绘制一个点,而在其他换行符上不绘制点。

【问题讨论】:

  • 具体职位是什么?你能展示一张你想要获得的图片吗?
  • 假设 X 轴为 [1,2,3,4,5,6,7,8,9],y 轴为 [2,4,2,4,2,4,2, 5,2] 我想要 y 轴上的值 5 上的“干净线”和突出显示的点(例如画笔 = 2)
  • 要在坐标 (0, 5) 中显示一个点吗?
  • 是的,我想是的,我正在寻找的是能够根据 Y 轴数组的值动态设置画笔打开和关闭
  • 更好地解释你自己,一张图片会非常有用地指出你想要什么。

标签: python charts pyqt pyqtgraph


【解决方案1】:

所以,这里有一个您正在寻找的示例。这有点“狡猾”,因为我正在访问 PlotDataItem 中可能不应该直接访问的内容,因此该代码可能会随着 pyqtgraph 的未来更新而失效。

也就是说,我认为风险相当低,很容易更新我的示例以处理对 pyqtgraph 所做的任何更改,并且该示例可能会激发您的想法,从而导致实现相同的路径东西,而不需要滥用 pyqtgraph 的内部结构。

pw = pg.PlotWidget()
x = np.arange(8)
y = [1,6,2,4,3,5,6,8]
p = pw.plot(x=x, y=y, symbolSize=25)
p.scatter.setData(x=[x[2]],y=[y[2]])
pw.show()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-24
    • 1970-01-01
    • 2022-07-07
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-06
    相关资源
    最近更新 更多