2015-08-27 205 views
29

用下面的代碼:如何大熊貓旋轉x軸刻度標籤barplot

import matplotlib 
matplotlib.style.use('ggplot') 
import matplotlib.pyplot as plt 
import pandas as pd 

df = pd.DataFrame({ 'celltype':["foo","bar","qux","woz"], 's1':[5,9,1,7], 's2':[12,90,13,87]}) 
df = df[["celltype","s1","s2"]] 
df.set_index(["celltype"],inplace=True) 
df.plot(kind='bar',alpha=0.75) 
plt.xlabel("") 

我做了這個情節:

enter image description here

我如何可以旋轉x軸的刻度標記到0度?

我嘗試添加這一點,但沒有奏效:

plt.set_xticklabels(df.index,rotation=90) 

回答

71

通行證PARAM rot=0旋轉xticks:

import matplotlib 
matplotlib.style.use('ggplot') 
import matplotlib.pyplot as plt 
import pandas as pd 

df = pd.DataFrame({ 'celltype':["foo","bar","qux","woz"], 's1':[5,9,1,7], 's2':[12,90,13,87]}) 
df = df[["celltype","s1","s2"]] 
df.set_index(["celltype"],inplace=True) 
df.plot(kind='bar',alpha=0.75, rot=0) 
plt.xlabel("") 
plt.show() 

得到情節:

enter image description here

+0

有沒有一種方法可以將此設置爲所有其他圖的默認值? – Mitja

+1

@Mitja不確定,可以編輯matplotlibrc文件來設置默認值https://matplotlib.org/users/customizing.html#customizing-with-matplotlibrc-files,但我找不到x軸的設置旋轉,我不是一個matplotlib專家,所有我能找到的是修改這個當前情節 – EdChum

5

的問題是明確,但標題並不盡如人意。我的回答是針對那些希望更改標籤,而不是刻度標籤,這是公認的答案是關於什麼。

for ax in plt.gcf().axes: 
    plt.sca(ax) 
    plt.xlabel(ax.get_xlabel(), rotation=90)