首页 > 解决方案 > matplotlib 导数签入原始字符串标题

问题描述

我需要为我的图表输出正确的标签matplotlib

我有一个功能f(x)。它的导数是f'(x)。我想f'(x)matplotlibpython 绘图。所以我有列表xf'(x)x_to_plotf_derivative_to_plot

所以我写了转义单引号:

plt.plot(x_to_plot, f_derivative_to_plot, label='$f\'$')

显示正确的标签。

接下来我有f'(\beta). \beta应该是希腊贝塔符号。我必须使用原始字符串作为标签变量,所以我写:

plt.plot(..., ..., label=r'$f\'(\beta)$')

但不是正常的f导数,我在 . 之后得到了一些混乱的" ' "符号f

标签: pythonstringmatplotlibplotlatex

解决方案


  • 由于您的字符串标签包含'字符,您可以使用它""来定义字符串。这让你删除\之前'
  • 您可以放在r字符串之前,以指定它是原始字符串文字。这让您只使用一个\特殊字符,例如\beta

话虽如此,您可以使用以下内容:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 1000)
f = np.sin(x)
df = np.diff(f)/np.diff(x)
df = np.append(df, 2*df[-1] - df[-2])


fig, ax = plt.subplots()

ax.plot(x, f, label = r"$f$")
ax.plot(x, df, label = r"$f'(\beta)$")

ax.legend(frameon = True)

plt.show()

在此处输入图像描述


推荐阅读