正如预期我得到2个不同的情节从下面的代码。除了这两个我也想有一个单独的情节,显示在同一个图中的两条线,用不同的颜色和图例。
我不希望他们作为子地段,我希望他们每个人作为一个单一的情节和一个与所有的线在同一情节。
import matplotlib.pyplot as plt
import numpy as np
for i in range(2):
x = np.arange(0, 4*np.pi, 0.1)
y = np.sin(x)
plt.plot(x, i*y+i)
plt.title("Values")
plt.xlabel("x")
plt.ylabel("y")
plt.show()
我看了一下这个堆栈交换问题。
我可以将每个图的x和y值写入一个列表,以便稍后保存,但对于大型数据集,这似乎并不明智。
1条答案
按热度按时间ibrsph3r1#
我不知道你使用的是哪个IDE,但是你的代码在技术上不会创建两个图形。如果你只调用
plt.plot
,它会在没有图形的情况下创建一个图形,或者在有图形的情况下添加到最后一个图形。如果你想创建一个新的图形,你需要调用plt.figure
。因此,对于您的情况,您希望为组合图创建一个主图,然后为每个图创建一个新图。这些图可以使用
plt.subplots()
创建(没有任何nrows
或ncols
参数,它创建一个单独的图,而不是图的矩阵)。在循环中,我选择为单个图创建
fig_i
和ax_i
,为全局图创建fig
和ax
。由于您需要图例,因此应该为组合图添加标签。个体1:
个体2:
组合: