Итак, я играл с pyqtgraph, и я столкнулся с проблемой, когда мне нужно было добавить строки в качестве метки x axis tick (вместо поплавка по умолчанию). Таким образом, я огляделся и нашел Show string values on x-axis in pyqtgraphPyqtgraph string in x tick
Решение такого рода делает то, что мне нужно сделать (первое решение на странице, второе вызовет проблемы, потому что я на 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))
, но это сделало вывод имеет небольшую проблему
проблема заключается в го при добавлении в верхнюю левую часть графика добавляется еще одна ось. Может ли кто-нибудь сказать мне, что я делаю неправильно здесь?