【发布时间】:2021-12-28 15:47:00
【问题描述】:
我想在 Python 中绘制一个“函数序列”,并在图中绘制函数的相应标签。
我使用 matplotlib,但是,我面临以下问题。
(1)。图表应标注每个函数对应的 $f_n$。
(2)。它必须保存到包含标签的文件中。
这是我的代码:
import matplotlib as mpl
mpl.rc('text', usetex = True) #for LaTex notation in the Plot
mpl.rc('font', family = 'serif')
import matplotlib.pyplot as plt
import numpy as np
plt.gca().set_aspect('equal', adjustable='box')
plt.style.use(['ggplot','dark_background'])
x=np.arange(-1,1,0.001)
for i in range(1,5,1):
y = 1 - (1 / (1+x**2)**i)
plt.plot(x,y,label=i)
plt.xlabel('$x$')
plt.ylabel('$y$')
plt.savefig('seqn_of_function1.eps', format='eps',
dpi=1000)
plt.legend()
plt.show()
这段代码的问题是:
- 它只标记“i”,但是,我希望它标记为 $f_i$。
我将代码中的行更改为:plt.plot(x,y,label='$f_$',i),但它给出了“invalid_syntax”错误。
【问题讨论】:
-
您是否尝试过使用
plt.plot(x,y,label='f_{}'.format(i))? (而不是plt.plot(x,y,label='$f_$',i)) -
@bene....这给出了一个错误。
-
还有如何保存带有标签的 .eps 文件?我的代码没有这样做......
-
我正在调查。标签不会被保存,因为您在创建标签之前保存了图形 (
plt.legend()) -> 首先调用plt.legend(),然后调用plt.savefig(...) -
@bene...非常感谢....它已修复.....那么之前的问题呢..??用$f_n$创建标签
标签: python python-3.x