Ich möchte ein Liniendiagramm mit mehreren Datensätzen auf den gleichen Achsen plotten, so dass die Markierungen angezeigt werden, aber nicht die Linie. Ich kann wirklich nicht sehen, was ich falsch mache. Kann jemand bitte ein anderes Auge darauf richten? HierMatplotlib Datenpunkte gezeichnet, aber keine Linie zwischen ihnen?
ist die Daten Druck:
looking at 2015-08-05 83.0 AA attribs sector= Materials shape= o kolor= b x = 2015-08-05 y = 83.0
looking at 2015-08-06 50.0 AA attribs sector= Materials shape= o kolor= b x = 2015-08-06 y = 50.0
looking at 2015-08-07 42.0 AA attribs sector= Materials shape= o kolor= b x = 2015-08-07 y = 42.0
looking at 2015-08-10 75.0 AA attribs sector= Materials shape= o kolor= b x = 2015-08-10 y = 75.0
Hier ist der Code-Segment:
for count, symb in enumerate(my_symbols):
sector = sector_format[str(sym_sect[symb])][0]
shape = sector_format[str(sym_sect[symb])][1]
kolor = sector_format[str(sym_sect[symb])][2]
x = my_dates[count]
y = rank_2010[count]
print("looking at",x,y,symb,"attribs",
"sector=",sector,
"shape=",shape,
"kolor=",kolor,
"x =",x,
"y = ",y)
if symb == 'AA' or symb == "AAPL":
plt.plot(x,y,lw=5,color=kolor,linestyle='solid',marker=shape)
plt.title('hv 20 to 10 ranks')
plt.xlabel('dates')
plt.ylabel('symbol ranks')
plt.show()
Es wäre viel einfacher, wenn wir nicht-string-formatierte Daten erhalten könnten (d. H. In einer Kopie-verarbeitbaren Liste vielleicht). Was ich denke ist, dass Sie jeden Punkt als eine andere Linie zeichnen und sie alle manuell auf die gleichen Marker und Formen setzen. Schalten Sie die Legende ein und Sie werden wahrscheinlich vier verschiedene Datengruppen sehen. Was Sie tun möchten, ist die Daten in 2 Listen 'x, y' zu setzen und diese Listen außerhalb der' for' Schleife an 'plt.plot' zu senden. – ljetibo
Hey da lxetibo, aber der Datensatz ist ein wenig schwierig. Grundsätzlich habe ich 1000 Tage Daten für 100 Symbole. Ich teile die Tage in eine Liste (my_dates [], die die x-Achse ist) und eine andere Liste sind die Rangdaten (rank_2010 []), die die y-Achse ist.) Jetzt für das knifflige Bit. Jeder Rang_2010 hat ein Symbol, das verwendet wird, um einen Sektor nachzuschlagen (in diesem Fall Symbol = AA, was Sektor "Materialien" ist). Ein Sektor hat einen Satz von Attributen, die auf eine Linie angewendet werden, so dass ich alle 100 Symbole geplottet haben möchte benutze ihr relevantes Sektorformat UND wenn ich auf eine Linie zeige, bekomme ich das Symbol. – theakson