使用 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()
我有两个生成光栅图像的 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()