2017-03-25 38 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