所以我一直在玩pyqtgraph,遇到一个问题,我需要添加字符串作为x轴刻度标签(而不是默认的float)。所以我环顾四周,发现在pyqtgraph中的x轴上显示字符串值
解决方案类型可以做我需要做的事情(页面上的第一个解决方案,第二个解决方案会导致问题,因为我使用的是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'对象不支持在线索引
curve = plot.plot(xdict.keys(),y)
我尝试通过如下操作将其转换为列表:
curve = plot.plot(list(sdict.keys(),y))
问题是在绘图的左上方添加了另一个轴。有人可以告诉我我在做什么错吗?
好吧,我不确定我是否可以回答自己的问题,所以我查了一下,发现https://stackoverflow.com/help/self-answer。因此,这就是答案。
转到pyqtgraph谷歌组https://groups.google.com/forum/#!searchin/pyqtgraph/string|sort:relevance/pyqtgraph/pSIn0xNGodA/79pR3dUBLAAJ并从Upol Ryskulova寻找问题。他在问完全相同的问题。对该评论的答复确认这是pyqtgraph中的错误。它已得到修复,但修复尚未传播到我的anaconda发行版。因此,我需要做的是等待一段时间,然后该错误将消失。该小组中也讨论了此修复程序,并且他的代码没有错。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句