使用Matplotlib Patches时出现空白图问题求助
解决Matplotlib绘制矩形显示空白的问题
你的代码存在两个关键问题导致图表空白:
- 未导入
matplotlib.pyplot模块,代码中使用的plt对象未定义 - 矩形的位置和尺寸完全超出了Matplotlib默认的坐标轴范围(默认x、y轴范围为[0,1]),导致无法在画布上显示
修正后的代码
import matplotlib.pyplot as plt import matplotlib.patches fig = plt.figure() ax = fig.add_subplot(111) # 创建红色矩形,左下角坐标(50,100),宽度40,高度30 rect = matplotlib.patches.Rectangle((50, 100), 40, 30, linewidth=1, edgecolor='r', facecolor='red') ax.add_patch(rect) # 设置坐标轴范围,确保矩形处于可视区域内 ax.set_xlim(40, 100) ax.set_ylim(90, 140) # 显示图表 plt.show()
关键修改说明
- 补充
import matplotlib.pyplot as plt,保证plt.figure()等调用正常执行 - 通过
ax.set_xlim()和ax.set_ylim()自定义坐标轴范围,让矩形完全显示在画布中 - 添加
plt.show()(脚本运行时必需)触发图表窗口显示
内容的提问来源于stack exchange,提问作者james
相关产品推荐
相关产品推荐

