2017-10-15 3 views
0

Ich versuche, ein Balkendiagramm in Python plotten mit dem folgenden Code:Balkendiagramm in Python

prop_all = p_dead_men, p_men_first ,p_men_second ,p_men_third, p_dead_women, p_dead_child 

%matplotlib inline 

import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 

width = 0.8 
index = len(prop_all) 
x = [u'Men', u'M-Ist', u'M-IInd', u'M-IIIrd', u'W', u'CH'] 
ind = np.arange(len(prop_all)) 
fig, ax = plt.subplots() 
plt.title("Proportion of dead passengers by category") 

plt.bar(ind, prop_all, width, color="blue") 
ax.set_xticklabels(x) 
plt.show() 

der Ausgang I erhalten wird, um den ersten X-Wert vollständig fehlt und damit die Histogramm-Legende zeigt nur die letzten 5 . Irgendwelche Vorschläge?

Antwort

1

Ja, fügen Sie diesen Code hier vor set_xticklabels (x):

ax.set_xticks(ind) 

Oder eine zusätzliche leere ticklabel hinzu:

ax.set_xticklabels([""]+x) 

Der Grund dafür ist, dass Ihre Axt a hat negativer xtick. Es scheint etwas zu sein, das der Barplot erzeugt. Schauen Sie sich diese Variable hier:

ax.get_xticks() 

Welche zurück:

array([-1., 0., 1., 2., 3., 4., 5., 6.]) 
Verwandte Themen