在关于Python的教科书中,我正在阅读: “图表的每个视觉方面都可以从默认值中更改。您可以在创建绘图时指定这些;大多数也可以在以后更改。”
所以创建一个.py文件
# simple_plot.py
import numpy as np, matplotlib.pyplot as plt
num_points = 5
x_min, x_max = 0, 4
5 x_values = np.linspace(x_min, x_max, num_points)
y_values = x_values**2
plt.plot(x_values, y_values)
并运行它,给出了所需的情节。 现在输入控制台,例如
plt.plot(x_values,y_values,'r--o')
绘制一条红色虚线,每个点都有红色圆圈。 但是我无法理解为什么在控制台中输入(而不是在最初创建的脚本中添加指令),就像
一样plt.title("My first plot", size=24, weight='bold')
plt.xlabel("speed")
plt.ylabel("kinetic energy")
不会更新情节。 非常感谢你。
答案 0 :(得分:1)
我假设您通过在IPython控制台中调用myscript.py
并激活run myscript.py
选项来运行您的脚本(让我们称之为%matplotlib inline
)。
这将根据需要将图形绘制到控制台中。然而,一旦绘制了图形,您就会松开对它的引用。调用plt.plot(x_values,y_values,'r--o')
会创建一个新数字,plt.title(..)
会创建另一个数字。
您可以做的一件事是以面向对象的方式开展更多工作。即创建数字并在myscript.py
文件中保留引用,如下所示:
import numpy as np, matplotlib.pyplot as plt
num_points = 5
x_min, x_max = 0, 4
x_values = np.linspace(x_min, x_max, num_points)
y_values = x_values**2
fig, ax = plt.subplots()
ax.plot(x_values, y_values)
然后在控制台中输入
ax.set_title("My Title")
ax.set_xlabel("MyLabel")
并随时在您输入fig
时显示带有更新属性的图。