【发布时间】:2018-05-09 09:54:55
【问题描述】:
我正在使用 matplotlib 在 jupyter 上绘制动态图,这意味着在 for 循环中,每个不同的循环都会提供不同的图,如下例所示
import matplotlib.pyplot as plt
import numpy as np
import time
import matplotlib as mpl
mpl.rcParams['lines.linewidth'] = 2
plt.ion()
%matplotlib notebook
x = np.arange(-10, 10, 0.01)
fig = plt.figure(figsize = (12, 7))
ax = fig.add_subplot(111)
ax.grid()
plt.show()
for j in range(1,5):
ax.set_title(r"%6.2f $y = \frac{\sin{(\pi x j)}}{(\pi x j)}$" % j)
y = np.sin( np.pi*x*j )/( np.pi*x*j )
line, = ax.plot(x, y, 'b')
fig.canvas.draw()
time.sleep(1)
if j != 4:
line.remove()
“ax.set_title”行提供了标题,该标题具有恒定的乳胶代码和随时间变化的数字。我的问题是我可以从乳胶代码中更改标题中的数字,但我真的不知道如何更改乳胶代码内部的一个部分。
在前面的示例中,对于每个不同的循环,我不仅想要一个不同的情节,而且还想要一个带有不同乳胶代码的标题,它提供了不同的结果,如此处报告的
有没有人可以给我一些建议?
【问题讨论】:
-
@ImportanceOfBeingErnest - 只是因为您使用了
.format()。 OP 使用%格式,我链接的问题的第二个答案显示了一个完全有效的解决方案:r"%(j)6.2f $y = \frac{\sin{(\pi x %(j)6.2f)}}{(\pi x %(j)6.2f)}$" % {'j': j}
标签: python matplotlib latex jupyter-notebook