2017-10-17 25 views
2

我有以下代碼,顯示以下圖。我無法在x軸上正確顯示會計年度,並且顯示爲浮動狀態。我試圖做astype(int),它沒有奏效。關於我做錯什麼的想法?Matplotlib浮動軸上的值而不是整數

p1 = plt.bar(list(asset['FISCAL_YEAR']),list(asset['TOTAL']),align='center') 
plt.show() 

這是劇情: enter image description here

回答

3

爲了確保只有整數位置獲得ticklabel,您可以使用matplotlib.ticker.MultipleLocator與整數作爲參數。

要格式化軸上的數字,您可以使用matplotlib.ticker.StrMethodFormatter

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

df = pd.DataFrame({"FISCAL_YEAR" : np.arange(2000,2017), 
        'TOTAL' : np.random.rand(17)}) 

plt.bar(df['FISCAL_YEAR'],df['TOTAL'],align='center') 


locator = matplotlib.ticker.MultipleLocator(2) 
plt.gca().xaxis.set_major_locator(locator) 
formatter = matplotlib.ticker.StrMethodFormatter("{x:.0f}") 
plt.gca().xaxis.set_major_formatter(formatter) 
plt.show() 

enter image description here

相關問題