使用 Matplotlib 显示两个数据文件

Displaying two data files using Matplotlib

我有两个生成光栅图像的 CSV 文件,每个都是 300x300。

我可以让程序显示一个,但如果我尝试同时显示两个,它只会生成一个空白的白色图形。我只想显示两组数据作为单独的图像,不需要以任何方式更改。

import csv
import matplotlib.pyplot as plt
import math

lidar = []  # height of object
radar = []  # texture of object

with open('lidar1.csv', newline='') as f:
    reader = csv.reader(f, quoting=csv.QUOTE_NONNUMERIC)
    for row in reader:
        rowlist = []
        for value in row:
            rowlist.append(value) 
        lidar.append(rowlist)


with open('radar1.csv', newline='') as f:
    reader = csv.reader(f, quoting=csv.QUOTE_NONNUMERIC)
    for row in reader:
        rowlist = []
        for value in row:
            rowlist.append(value) 
        radar.append(rowlist)

plt.imshow(lidar) 

您需要创建 2 个图形,以便它们分别显示。

f1 = plt.figure()
plt.plot(lidar)
f2 = plt.figure()
plt.plot(rowlist)

您可以使用 plt.show 分别绘制每个图形:

plt.imshow(lidar) 
plt.show()
plt.imshow(radar)
plt.show()

或者像 @norok2 建议的那样使用子图

fig, ax = plt.subplots(1, 2, figsize = [10, 20])
ax[0].imshow(lidar)
ax[1].imshow(radar)
plt.show()