Wie machen Sie eine errorbar-plot in matplotlib mit linestyle=None in rcParams?
Beim Plotten errorbar Grundstücke, matplotlib ist nicht nach der rcParams keine linestyle. Stattdessen zeichnen alle Punkte verbunden mit einer Linie. Hier ist ein minimal-Beispiel:
import matplotlib.pyplot as plt
lines = {'linestyle': 'None'}
plt.rc('lines', **lines)
plt.errorbar((0, 1), (1, 0), yerr=(0.1, 0.1), marker='o')
plt.savefig('test.pdf')
plt.delaxes()
Ist die einzige Lösung, die explizit linestyle='None'
beim Aufruf pyplot.errorbar()
?
InformationsquelleAutor drs | 2013-08-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist ein "Fehler" in älteren Versionen von
matplotlib
(und wurde behoben für die 1.4-Serie). Das Problem ist, dass inAxes.errorbar
gibt es einen Standard-Wert von'-'
fürfmt
, die dann übergeben, um den Anruf zuplot
die verwendet werden, um ziehen Sie die Markierungen und Linien. Da ein format-string übergeben wird inplot
im schaut nie auf den default-Wert inrcparams
.Können Sie auch in
fmt = ''
wodurch die
rcParam['lines.linestlye']
Wert, respektiert zu werden. Ich habe eingereicht PRum dies zu implementieren.Einer anderen Arbeit um für dieses zu machen, ist die errorbar in zwei Schritten:
Dies ist eine nervige design-Entscheidung, aber eine änderung wäre eine große api zu brechen. Eröffnen Sie bitte ein issue auf github zu diesem.
errorbar doc.
Als seitliche Anmerkung, es sieht aus wie die call-Signatur wurde zuletzt geändert in 2007, und dass war die Fehlerbalken nicht standardmäßig blau.
MatplotlibDeprecationWarning
: Verwendung vonNone
Objekt als fmt keyword argument zu unterdrücken Plotten von Daten-Werte ist veraltet seit 1.4; verwenden Sie die Zeichenfolge"none"
statt.Das argument
fmt=''
noch Grundstücke die Verbindungslinie, so dass Sie das problem nicht lösen.Ich habe das gleiche problem, ich musste angeben, dass eine Markierung zumindest, z.B.
fmt='.'
, dann war die Leitung endlich Weg, und ich brauchte einen marker sowieso.Ja, ja ich weiß, aber es soll funktionieren, ohne jedes weitere argument, wenn ich es richtig verstanden habe. Manchmal ist eine zusätzliche Kennzeichnung ist nur verwirrend.
InformationsquelleAutor tacaswell