【问题标题】:Pyqtgraph string in x tickx 刻度中的 Pyqtgraph 字符串
【发布时间】:2016-12-30 22:19:48
【问题描述】:

所以我一直在玩 pyqtgraph,但遇到了一个问题,我需要将字符串添加为 x 轴刻度标签(而不是默认浮点数)。于是环顾四周,发现Show string values on x-axis in pyqtgraph

该解决方案可以满足我的需要(页面上的第一个解决方案,第二个解决方案会导致问题,因为我使用的是 python 3.5)。所以我尝试修改第一个方案,但没有成功。

from PyQt4 import QtCore
import pyqtgraph as pg

x = ['a', 'b', 'c', 'd', 'e', 'f']
y = [1, 2, 3, 4, 5, 6]
xdict = dict(enumerate(x))

win = pg.GraphicsWindow()
stringaxis = pg.AxisItem(orientation='bottom')
stringaxis.setTicks([xdict.items()])
plot = win.addPlot(axisItems={'bottom': stringaxis})
curve = plot.plot(xdict.keys(),y)

if __name__ == '__main__':
    import sys
    if sys.flags.interactive != 1 or not hasattr(QtCore, 'PYQT_VERSION'):
        pg.QtGui.QApplication.exec_()

我得到的错误是 TypeError: 'dict_keys' object does not support indexing on line

curve = plot.plot(xdict.keys(),y)

我试着把它变成一个列表,方法如下:

curve = plot.plot(list(sdict.keys(),y))

但这使得输出有一个小问题

问题是图的左上角添加了另一个轴。有人可以告诉我我在这里做错了什么吗?

【问题讨论】:

    标签: python-3.5 pyqtgraph


    【解决方案1】:

    嗯,我不确定我是否可以回答我自己的问题,所以我查了一下,找到了https://stackoverflow.com/help/self-answer。所以这就是答案。

    转到 pyqtgraph google group https://groups.google.com/forum/#!searchin/pyqtgraph/string|sort:relevance/pyqtgraph/pSIn0xNGodA/79pR3dUBLAAJ 并寻找来自 Upol Ryskulova 的问题。他问的是完全相同的问题。对该评论的回复证实这是 pyqtgraph 中的一个错误。它已被修复,但尚未传播到我的 anaconda 发行版。所以我需要做的是等待一段时间,那个错误就会消失。修复也在群里讨论,他的代码没有问题。

    【讨论】:

      猜你喜欢
      • 2017-11-20
      • 2015-10-24
      • 2021-05-22
      • 2019-05-06
      • 1970-01-01
      • 2017-09-26
      • 2019-05-17
      • 2020-04-16
      • 1970-01-01
      相关资源
      最近更新 更多