我想绘制数据,然后创建一个新的图形和绘图数据2,最后回到原始的绘图和绘图数据3,有点像这样:
import numpy as np
import matplotlib as plt
x = arange(5)
y = np.exp(5)
plt.figure()
plt.plot(x, y)
z = np.sin(x)
plt.figure()
plt.plot(x, z)
w = np.cos(x)
plt.figure("""first figure""") # Here's the part I need
plt.plot(x, w)
字符串
仅供参考How do I tell matplotlib that I am done with a plot?做了类似的事情,但不完全是!它不让我访问原始情节。
6条答案
按热度按时间cqoc49vn1#
如果你发现自己经常做这样的事情,可能值得研究一下matplotlib的面向对象接口。在你的情况下:
字符串
它有点冗长,但它更清晰,更容易跟踪,特别是有几个数字,每个数字都有多个子情节。
2w3rbyxf2#
调用
figure
时,只需对图进行编号。字符串
编辑:请注意,您可以根据需要对图进行编号(这里,从
0
开始),但如果您在创建新图时根本没有提供数字,则自动编号将从1
开始(根据文档,“Matlab样式”)。ifmq2ha23#
但是,编号从
1
开始,因此:字符串
此外,如果图形上有多个轴,例如子图,请使用
axes(h)
命令,其中h
是所需轴对象的句柄,以聚焦于该轴。(don还没有评论权限,抱歉有新的答案!)
sg24os4d4#
这里接受的答案是使用 * 面向对象接口 *(
matplotlib
),但答案本身包含了一些 * MATLAB风格的接口 *(matplotib.pyplot
)。如果你喜欢的话,可以单独使用OOP**方法:
字符串
这使用户可以手动控制图形,避免了
pyplot
的内部状态只支持单个图形的问题。5m1hhzi45#
为每次迭代绘制单独帧的简单方法可以是:
字符串
然后python将绘制不同的帧。
70gysomp6#
经过一番努力,我发现一种方法是创建一个函数,该函数将data_plot矩阵,文件名和顺序作为参数,从有序图中的给定数据创建箱线图(不同的顺序=不同的图),并将其保存在给定的文件名下。
字符串