I have a weird behaviour in matplotlib. Using the following I get a nice and shiny big theta. As soon as I use \theta instead of \Theta I get
heta
as an axis label
plt.figure(**pd.figpropsHP)
line=pd.lineCycler()
for i in range(2):
for j in range(length-1):
velocity[i,j]=(velocity[i,j+1]-velocity[i,j])*1000 #multiplied with sampling rate
plt.plot(velocity[i,startstop[0]:startstop[1]],**next(line))
#plt.show(pPosition)
plt.xlabel("t[ms]")
plt.ylabel("$\dot{\Theta}$[deg/s]")
plt.ylim(-3000,-3000+yrangeV)
plt.annotate('30ms',fontsize='9', xy=(30, -1000),xytext=(40, -1000),verticalalignment='center',arrowprops=myarrow)
plt.annotate('8ms',fontsize='9', xy=(8, -1700),xytext=(40, -1700),verticalalignment='center',arrowprops=myarrow)
plt.axvline(x=span2Stop,lw='0.3',c='0.5')
plt.axvspan(spanStart, spanStop, facecolor='0.9', alpha=1,edgecolor='0.9',lw=0)
plt.tight_layout()
plt.savefig(imagePath + "collisionTestbedVmot.pdf")
Any ideas what I am doing wrong? I sadly do not have any time to start fancy stuff (latex integration etc.). Can I use an utf8 character instead? How do I get one?
If you specify that the string is raw text (a
rbefore the quotation mark), it works. Like this:The reason you got an unexpected result is that
\tmeans a tab. So if you type\theta, it is parsed as\tand followingheta. If you specify it a a raw string, backslashes and python escapes will not be treated.If you don’t use raw strings, you have to escape the backslash (
\\) so python treats it as a backslash and not as a tab symbol (so as \theta and not as \t and heta). That’s why\\thetadid the job. To avoid always have to write double backslashes, use raw strings when using latex, since it uses backslashes a lot for special characters.