在matplotlib中隐藏原点(x和y轴上的0)

时间:2017-06-20 18:31:08

标签: python-2.7 matplotlib

我正在处理一些代码,我想从图中隐藏原点(x轴上的零点和y轴上的零点)。我已经尝试了所见过的所有可能性,但是当我得到标签列表时它们会返回空白,或者当范围为时,它们只返回几个值(-2,-1,0,1,2,3) -10 - 10.

另外,有没有办法将刻度本身的字体改为Computer Modern 10(LaTeX字体?)

1 个答案:

答案 0 :(得分:1)

可以使用0隐藏轴上的FuncFormatter。这个格式化程序的函数只是检查标签是否为0并在这种情况下返回一个空字符串。

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

x = np.linspace(-5,8)
y = np.sin(x)
plt.plot(x,y)

func = lambda x, pos: "" if np.isclose(x,0) else x
plt.gca().xaxis.set_major_formatter(ticker.FuncFormatter(func))
plt.gca().yaxis.set_major_formatter(ticker.FuncFormatter(func))

plt.show()

enter image description here