【发布时间】: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