2016-10-27 4 views
1

Ich kann nicht herausfinden, wie Dollarzeichen in Tick-Beschriftungen angezeigt werden, die keine Zahlen, sondern Zeichenketten sind.Matplotlib Display Dollarzeichen in Tick Labels (Strings)

Hier ist ein Beispiel dafür, was ich meine:

import matplotlib.pyplot as plt 
import numpy as np 

categories = ['$0-$10','$10-$20','$20-$30'] 
y_pos = np.arange(len(categories)) 
data = 3 + 10 * np.random.rand(len(categories)) 

plt.barh(y_pos, data, align='center', alpha=0.4) 
plt.yticks(y_pos, categories) 

plt.show() 

Ausbeuten:

enter image description here

Ich habe versucht, diese, die mit Tausenden von Dollar funktioniert:

fmt = '${x:,.0f}' 
tick = mtick.StrMethodFormatter(fmt) 
plt.yaxis.set_major_formatter(tick) 

.. .aber kein Glück mit Saiten wie ich hier habe.

Antwort

3

die Dollar-Zeichen mit einem Backslash entkommen, so dass Matplotlib sie den Anfang als Hinweis (oder endet) von LaTeX math mode nicht interpretieren:

import matplotlib.pyplot as plt 
import numpy as np 

categories = ['\$0-\$10','\$10-\$20','\$20-\$30'] 
y_pos = np.arange(len(categories)) 
data = 3 + 10 * np.random.rand(len(categories)) 

plt.barh(y_pos, data, align='center', alpha=0.4) 
plt.yticks(y_pos, categories) 

plt.show() 

enter image description here

Verwandte Themen