2015-03-19 48 views
0

我的X軸標籤pyplot去除零位(從0開始並不0.00)

0.00 0.01 0.02 0.03 

等 我怎樣才能格式化爲:

0 0.01 0.02 0.03 

好,我想這些:

plt.xlim([0,0.03]) 

plt.xticks(np.arange(0, 0.03, 0.01)) 

既沒有工作。我認爲這應該是固定的,0.00是沒有意義的。

+1

我想你會發現*很多*的誰與'0.00'沒有意義不同意的人。這當然不是一個應該修復的錯誤。 – jedwards 2015-03-19 08:21:48

+0

@jedwards當然,我尊重這一觀點。但是我懷疑任何數學家會捍衛0.00。而且MATLAB和gnuplot總是把它作爲0。 – 2015-03-19 08:25:33

回答

1

您用過plt.yticks([0, 0.01, 0.02, 0.03], ['0', '0.01', '0.0.2', '0.03'])

1

要更改某個刻度,你既可以使用自定義格式,或類似如下:

import matplotlib.pyplot as plt 

plt.plot([1,3,2]) 

plt.draw()  # Note, this line is important 
ax = plt.gca() # and you don't need this line if you already have an axis handle somewhere 
labels = [l.get_text() for l in ax.get_xticklabels()] 
labels[0] = '0' 
ax.set_xticklabels(labels) 

plt.show() 
4

你可以使用你的X軸自定義格式,打印整數這樣:

from matplotlib.ticker import FuncFormatter 

def my_formatter(x, pos): 
    if x.is_integer(): 
     return str(int(x)) 
    else: 
     return str(x) 

formatter = FuncFormatter(my_formatter) 

fig, ax = plt.subplots() 
ax.xaxis.set_major_formatter(formatter) 
plt.show()