修改代码调整绘制的像素大小: fig = plt.figure() fig.suptitle('Time surface') plt.imshow(sae, cmap='jet') # viridis 绿 plasma 红 inferno 夕阳红 magma 黑红 # cool绿色-青色-蓝色 jet 澳大利亚论文里的 rainbow plt.xlabel("x [pixels]") plt.ylabel("y [pixels]") plt.colorbar() # 旁边的竖杠 plt.savefig('hegu2-in.svg', bbox_inches='tight') # 保存路径 plt.show()
时间: 2023-11-27 18:51:30 浏览: 164
要调整绘制的像素大小,可以使用 `figsize` 参数来调整 `fig` 对象的大小。例如,将 `figsize=(10, 10)` 传递给 `plt.figure()` 函数,可以将绘图区域的大小设置为 10x10 英寸。这将使得绘制的像素更大。
下面是修改后的代码:
```
fig = plt.figure(figsize=(10, 10)) # 设置绘图区域的大小
fig.suptitle('Time surface')
plt.imshow(sae, cmap='jet')
plt.xlabel("x [pixels]")
plt.ylabel("y [pixels]")
plt.colorbar()
plt.savefig('hegu2-in.svg', bbox_inches='tight')
plt.show()
```
你可以根据需要调整 `figsize` 参数的值。注意,如果你想要保存绘图的 DPI(每英寸点数)设置为高分辨率,可以将 `dpi` 参数传递给 `savefig()` 函数。例如,将 `dpi=300` 传递给 `savefig()` 函数,可以将分辨率设置为 300 DPI。
相关问题
P2.14 加载并显示绿色通道的图片 def load_green_image(basepath, image_id): image = np.zeros(shape=(512,512)) image[:,:] = imageio.imread(basepath + image_id + "_green" + ".png") return image fig = plt.figure() image = load_green_image('./dataset/train/', x_train[0][0]) plt.imshow(image, cmap='gray') print(image.shape) x = image[:,:,np.newaxis] print(x.shape)如何让解决
这段代码的问题在于:使用的是灰度图像的颜色映射(`cmap='gray'`),但是加载的是绿色通道的图像。因此,应该使用颜色映射 `cmap='Greens'` 来显示绿色通道的图像。
以下是修改后的代码:
```python
import matplotlib.pyplot as plt
import imageio
def load_green_image(basepath, image_id):
image = np.zeros(shape=(512, 512))
image[:, :] = imageio.imread(basepath + image_id + "_green" + ".png")
return image
fig = plt.figure()
image = load_green_image('./dataset/train/', x_train[0][0])
plt.imshow(image, cmap='Greens') # 注意这里使用的是 'Greens' 颜色映射
print(image.shape)
x = image[:, :, np.newaxis]
print(x.shape)
```
运行后,应该可以正确地显示出绿色通道的图像。
classified_ids = np.array(classified_ids) classified_ids = classified_ids.flatten() max_view = 20 current_view = 1 fig = plt.figure() fig.subplots_adjust(left=0, right=1, bottom=0, top=1, hspace=0.2, wspace=0.2) mis_pairs = {} for i, val in enumerate(classified_ids == t_test): if not val: ax = fig.add_subplot(4, 5, current_view, xticks=[], yticks=[]) ax.imshow(x_test[i].reshape(28, 28), cmap=plt.cm.gray_r, interpolation='nearest') mis_pairs[current_view] = (t_test[i], classified_ids[i]) current_view += 1 if current_view > max_view: break
这段代码的作用是将分类错误的样本可视化,并将其真实标签和预测标签保存到 mis_pairs 字典中。具体来说,代码首先将 classified_ids 列表转换为形状为 (x_test.shape[0],) 的一维数组,并将其展平为一维,方便后续处理。然后,定义了一个画布 fig,并调用 fig.subplots_adjust 函数设置画布边距和子图之间的间距。接着,使用 for 循环依次遍历测试集数据,并判断当前样本的预测结果是否与真实标签相同。如果当前样本被错误分类,则将其在画布上绘制出来,并将其真实标签和预测标签保存到 mis_pairs 字典中。具体来说,使用 fig.add_subplot 函数在画布上添加一个子图,并设置 xticks 和 yticks 参数为空,以去除子图的坐标轴。然后,使用 imshow 函数在子图上显示当前样本的图像,并使用 cmap=plt.cm.gray_r 参数指定颜色映射为灰度图。最后,将当前子图的编号和对应的真实标签和预测标签保存到 mis_pairs 字典中,并将 current_view 加 1。如果当前绘制的子图数量已经达到了 max_view 的限制,则跳出循环。
阅读全文