Ich versuche, einige Publikationen in Publikationsqualität zu machen, aber ich habe ein kleines Problem festgestellt. Es scheint standardmäßig, dass Matlotlib-Achsenbeschriftungen und Legendeneinträge schwerer gewichtet sind als die Achsenmarkierungen. Gibt es trotzdem, um die Achsbeschriftungen/Legendeneinträge so zu gewichten, dass sie die gleiche Bedeutung wie die Häkchen haben?Python matplotlib: Ändern Achsenbeschriftungen/Legende von Fett auf Normalgewicht
import matplotlib.pyplot as plt
import numpy as np
plt.rc('text',usetex=True)
font = {'family':'serif','size':16}
plt.rc('font',**font)
plt.rc('legend',**{'fontsize':14})
x = np.linspace(0,2*np.pi,100)
y = np.sin(x)
fig = plt.figure(figsize=(5,5))
p1, = plt.plot(x,y)
p2, = plt.plot(x,x**2)
plt.xlabel('x-Axis')
plt.ylabel('y-Axis')
plt.legend([p1,p2],['Sin(x)','x$^2$'])
plt.gcf().subplots_adjust(left=0.2)
plt.gcf().subplots_adjust(bottom=0.15)
plt.savefig('Test.eps',bbox_inches='tight',format='eps')
plt.show()
kann ich Mathe-Modus verwenden, aber das Problem (Ärger) ist, wenn ich einen Satz für ein Label haben, das heißt,
plt.xlabel('$\mathrm{This is the x-axis}$')
, die sie alle zusammen zerquetscht. Ich kann es mit
plt.xlabel('$\mathrm{This\: is\: the\: x-axis}$')
beheben, aber das braucht eine Menge Interpunktion. Ich hatte gehofft, dass es etwas gibt, das ich ändern könnte, das es mir erlauben würde, das Format \mathrm{}
zu umgehen und das Standard-TeX-Format zu verwenden. Die andere Option, die ich ausprobiert habe, war \text
anstelle von \mathrm
, aber es scheint, dass der Interpreter von Python dies nicht erkennt, ohne das Paket amsmath zu laden. Ich habe auch versucht:
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
plt.rc('text',usetex=True)
font = {'family':'serif','size':16}
plt.rc('font',**font)
plt.rc('legend',**{'fontsize':14})
matplotlib.rcParams['text.latex.preamble']=[r'\usepackage{amsmath}']
x = np.linspace(0,2*np.pi,100)
y = np.sin(x)
fig = plt.figure(figsize=(5,5))
p1, = plt.plot(x,y)
p2, = plt.plot(x,x**2)
plt.xlabel(r'$\text{this is the x-Axis}$')
plt.ylabel('$y-Axis$')
plt.legend([p1,p2],['Sin(x)','x$^2$'])
plt.gcf().subplots_adjust(left=0.2)
plt.gcf().subplots_adjust(bottom=0.15)
plt.savefig('Test.eps',bbox_inches='tight',format='eps')
plt.show()
Dies liefert auch nicht das gewünschte Ergebnis.
Können Sie den Code, den Sie für den Plot verwendet haben, posten? Wenn ich Sie richtig verstehe, wurden alle Beschriftungen (Achse und Legende) ähnlich wie '('label entry')' eingegeben und der einzige Eintrag im Math-Modus war die y-label '('$ y-axis $')'. Wenn das der Fall ist, dann ist dies eine großartige Lösung! – Blink
Die Handlung wurde genau aus Ihrem Code generiert, nur die markierte Zeile wurde geändert! –
@Blink Der Code wurde hinzugefügt ... –