Ich versuche, Zählungen in Rasterplots zu zeichnen, aber ich kann nicht herausfinden, wie ich vorgehe. Ich will:
Haben Sie Gitter im Abstand von 5 gepunktet
Haben Sie nur alle 20 große Häkchen
Ich möchte, dass die Zecken außerhalb des Grundstücks liegen.
Haben "Zählungen" in diesen Gittern
Ich habe nach möglichen Duplikaten wie hier und hier gesucht , konnte es aber nicht herausfinden.
Das 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()
Das bekomme ich.
Ich habe auch ein Problem beim Überschreiben der Datenpunkte. Könnte mir jemand bitte bei diesem Problem helfen?
Eine subtile Alternative zu MaxNoes Antwort, bei der Sie die Ticks nicht explizit festlegen, sondern stattdessen die Trittfrequenz festlegen .
import matplotlib.pyplot as plt from matplotlib.ticker import (AutoMinorLocator, MultipleLocator) fig, ax = plt.subplots(figsize=(10, 8)) # Set axis ranges; by default this will put major ticks every 25. ax.set_xlim(0, 200) ax.set_ylim(0, 200) # Change major ticks to show every 20. ax.xaxis.set_major_locator(MultipleLocator(20)) ax.yaxis.set_major_locator(MultipleLocator(20)) # Change minor ticks to show every 5. (20/4 = 5) ax.xaxis.set_minor_locator(AutoMinorLocator(4)) ax.yaxis.set_minor_locator(AutoMinorLocator(4)) # Turn grid on for both major and minor ticks and style minor slightly # differently. ax.grid(which='major', color='#CCCCCC', linestyle='--') ax.grid(which='minor', color='#CCCCCC', linestyle=':')
quelle