You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib如何一次性绘制多个独立图形而非子图?

解决Matplotlib生成独立图形的问题

要生成两个独立的图形窗口,每个窗口只显示一条曲线,你只需要为每个图形单独创建figure和axes对象即可,无需使用子图。以下是修改后的代码:

import numpy as np 
import matplotlib.pyplot as plt

x1 = np.random.normal(10, 1, 100)
x2 = np.random.uniform(8, 12, 100)

# 第一个独立图形:绘制正态分布数据
fig1, ax1 = plt.subplots()
ax1.plot(np.sort(x1), label='Normal')
ax1.legend()

# 第二个独立图形:绘制均匀分布数据
fig2, ax2 = plt.subplots()
ax2.plot(np.sort(x2), label='Uniform')
ax2.legend()

plt.show()

关键说明

  • 每次调用plt.subplots()都会创建一个新的独立图形窗口(figure)和对应的绘图区域(axes),两个图形完全独立,互不干扰。
  • plt.show()会一次性显示所有已创建的图形窗口,不需要为每个图形单独调用。

如果你习惯用更简洁的面向过程写法,也可以这样写:

import numpy as np 
import matplotlib.pyplot as plt

x1 = np.random.normal(10, 1, 100)
x2 = np.random.uniform(8, 12, 100)

# 创建第一个图形并绘图
plt.figure()
plt.plot(np.sort(x1), label='Normal')
plt.legend()

# 创建第二个图形并绘图
plt.figure()
plt.plot(np.sort(x2), label='Uniform')
plt.legend()

plt.show()

这两种写法都能实现你要的效果:两个独立的图形窗口,每个窗口只展示一条曲线。

内容的提问来源于stack exchange,提问作者user29839

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 22:30:51