我正在处理一些代码,我想从图中隐藏原点(x轴上的零点和y轴上的零点)。我已经尝试了所见过的所有可能性,但是当我得到标签列表时它们会返回空白,或者当范围为时,它们只返回几个值(-2,-1,0,1,2,3) -10 - 10.
另外,有没有办法将刻度本身的字体改为Computer Modern 10(LaTeX字体?)
答案 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()