Nach dem Ausführen des unten stehenden Codes überlappen sich die Achsen-Tick-Markierungen miteinander. Zu diesem Zeitpunkt kann jeder Marker immer noch eine gute Auflösung haben, wenn der Zoom von plt.show()
erscheint. Die durch plt.savefig('fig.png')
gespeicherte Zahl würde jedoch ihre Auflösung verlieren. Kann dies auch optimiert werden?Wie werden ausreichend Tick-Marker mit plt.savefig korrekt angezeigt?
from matplotlib.ticker import FuncFormatter
from matplotlib.pyplot import show
import matplotlib.pyplot as plt
import numpy as np
a=np.random.random((1000,1000))
# create scaled formatters/for Y with Atom prefix
formatterY = FuncFormatter(lambda y, pos: 'Atom {0:g}'.format(y))
formatterX = FuncFormatter(lambda x, pos: '{0:g}'.format(x))
# apply formatters
fig, ax = plt.subplots()
ax.yaxis.set_major_formatter(formatterY)
ax.xaxis.set_major_formatter(formatterX)
plt.imshow(a, cmap='Reds', interpolation='nearest')
# create labels
plt.xlabel('nanometer')
plt.ylabel('measure')
plt.xticks(list(range(0, 1001,10)))
plt.yticks(list(range(0, 1001,10)))
plt.savefig('fig.png',bbox_inches='tight')
plt.show()
Hilft es, eine Feigengröße festzulegen? – Cleb
Fragen Sie, wie das gezoomte Bild gespeichert wird? – ImportanceOfBeingErnest