Raster-Intervall und geben Sie die Beschriftung der hilfsstriche im Matplotlib
Ich versuche, das Grundstück zählt in den raster-plots, aber ich bin nicht in der Lage, herauszufinden, wie ich es angehen. Ich möchte:
- Haben gepunktete raster im Abstand von 5
- Haben, die Beschriftung der großen hilfsstriche nur alle 20
- Ich will die Zecken, die außerhalb der Handlung.
- Haben "zählt" innerhalb dieser Netze
Habe ich überprüft, für eventuelle Dubletten wie hier und hieraber ich habe nicht in der Lage, um es herauszufinden.
Dies ist mein code.
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
for key, value in sorted(data.items()):
x = value[0][2]
y = value[0][3]
count = value[0][4]
fig = plt.figure()
ax = fig.add_subplot(111)
ax.annotate(count, xy = (x, y), size = 5)
# Overwrites and I only get the last data point
plt.close()
# Without this, I get "fail to allocate bitmap" error
plt.suptitle('Number of counts', fontsize = 12)
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.axes().set_aspect('equal')
plt.axis([0, 1000, 0, 1000])
# This gives an interval of 200
majorLocator = MultipleLocator(20)
majorFormatter = FormatStrFormatter('%d')
minorLocator = MultipleLocator(5)
# I want minor grid to be 5 and major grid to be 20
plt.grid()
filename = 'C:\Users\Owl\Desktop\Plot.png'
plt.savefig(filename, dpi = 150)
plt.close()
Dies ist, was ich bekomme.
Ich habe auch ein problem mit dem überschreiben der Daten-Punkte, von denen ich auch Probleme mit... Könnte jemand mir BITTE helfen mit diesem problem?
InformationsquelleAutor der Frage owl | 2014-07-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es mehrere Probleme in Ihrem code.
Zuerst die großen:
Erstellen Sie ein neues Bild und einen neuen Achsen in jeder iteration der Schleife →
setzen
fig = plt.figure
undax = fig.add_subplot(1,1,1)
außerhalb der Schleife.Nicht verwenden Sie die Locator-Punkte auf. Rufen Sie die Funktionen
ax.set_xticks()
undax.grid()
mit den richtigen keywords.Mit
plt.axes()
erstellen Sie einen neuen Achsen wieder. Verwendenax.set_aspect('equal')
.Dem kleinere Dinge:
Sie sollten nicht mischen Sie die MATLAB-ähnlichen syntax wie
plt.axis()
mit dem Ziel, die syntax.Verwenden
ax.set_xlim(a,b)
undax.set_ylim(a,b)
Dieser sollte eine Arbeitsgruppe minimal-Beispiel:
Ausgabe ist diese:
InformationsquelleAutor der Antwort MaxNoe