当前,我正在研究Matplolib。从花哨的刻度格式部分有一个示例代码,我很难理解。这是他们正在尝试做的事情:
首先,他们尝试更改图形的刻度。
ax.xaxis.set_major_locator(plt.MultipleLocator(np.pi / 2)) ax.xaxis.set_minor_locator(plt.MultipleLocator(np.pi / 4))
但是,刻度线显示为float,这并不是很好。然后他们尝试将其更改为pi的表示法。
def format_func(value, tick_number):
N=int(np.round(2*value / np.pi))
if N == 0:
return "0"
if N ==1:
return r"$\pi/2$"
.........
else:
return r"${0}\pi$".format(N//2)
ax.xaxis.set_major_formatter(plt.FuncFormatter(format_func))
请说明r"$\pi/2$"
和r"${0}\pi$"
。
它使我想起正则表达式,但不确定。
有关该书代码的更多信息:(第281页)
https://tanthiamhuat.files.wordpress.com/2018/04/pythondatasciencehandbook.pdf
答案 0 :(得分:1)