2016-08-23 3 views
0

So habe ich mit pyqtgraph gespielt und ich kam zu einem Problem, wo ich Strings als X-Achse Tick-Label (anstelle von Standard-Float) hinzufügen musste. Also habe ich mich umgesehen und gefunden Show string values on x-axis in pyqtgraphPyqtgraph Zeichenfolge in x Tick

Die Lösung Art von tut, was ich tun muss (die erste Lösung auf der Seite, die zweite wird Probleme verursachen, weil ich auf Python 3.5 bin). Also habe ich versucht die erste Lösung zu modifizieren, aber es hat nicht funktioniert.

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_() 

Der Fehler Ich erhalte ist Typeerror: ‚dict_keys‘ Objekt unterstützt nicht die Indizierung auf Linie

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

Ich habe versucht, es in eine Liste drehen, indem sie es wie folgt:

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

aber das machte die Ausgabe hat ein kleines Problem plot window with problem

das Problem ist th Dort wird eine weitere Achse oben links im Diagramm hinzugefügt. Kann mir jemand sagen, was ich hier falsch mache?

Antwort

0

Nun, ich war mir nicht sicher, ob ich meine eigene Frage beantworten konnte, also schaute ich nach oben und fand https://stackoverflow.com/help/self-answer. Also hier ist die Antwort.

Gehen Sie zu pyqtgraph Google Group https://groups.google.com/forum/#!searchin/pyqtgraph/string|sort:relevance/pyqtgraph/pSIn0xNGodA/79pR3dUBLAAJ und suchen Sie eine Frage von Upol Ryskulova. Er stellt genau die gleiche Frage. Die Antworten auf diesen Kommentar bestätigen, dass es sich um einen Fehler in pyqtgraph handelt. Es wurde behoben, aber das Update hat sich noch nicht auf meine Anaconda-Verteilung ausgeweitet. Also muss ich noch einige Zeit warten und dieser Bug wird verschwinden. Die Behebung wird auch in der Gruppe besprochen, und mit dem Code ist nichts falsch.

Verwandte Themen