花式T​​i孔-请提供这段代码的解释

时间:2019-06-22 03:32:39

标签: python matplotlib

当前,我正在研究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

1 个答案:

答案 0 :(得分:1)

此代码利用了matplotlibLaTeX rendering的支持。

尤其是:

  • 它使用原始字符串r"...",以避免在字符串中引入转义符;
  • $...$部分是用于包装公式的LaTeX方法。