2017-03-25 36 views

回答

1

接受當前的使用get_yticks蜱,修改,然後使用set_yticklabels。看下面的例子。

%matplotlib inline 
import matplotlib.pyplot as plt 
from math import trunc 
a = np.random.rand(100)*30-20 

plt.figure() 

fig,ax = plt.subplots() 

ax.bar(np.arange(len(a)), a) 

ticks = ax.get_yticks() 

# set labels to absolute values and with integer representation 
ax.set_yticklabels([int(abs(tick)) for tick in ticks]) 

plt.show() 

enter image description here

+0

謝謝!這更好。 – Naffi

+0

如何擺脫零和小數點?像10而不是10.0? – Naffi

+0

沒關係。解決了! int() – Naffi

1

你可以手動替換y軸刻度標記標籤。

例如:

ax.set_yticks(range(-100, 200, 50)) 
ax.set_yticklabels([abs(y) for y in range(-100, 200, 50)]) 
+0

謝謝!像魅力一樣工作! – Naffi