fig=plt.figure(figsize=(11,8.5)) ax=fig.add_subplot(1,1,1, projection=ccrs.Mollweide()) h=ax.contourf(lon,lat,dat, levels=list(range(0,6,1)), extend='both', cmap='coolwarm', transform=ccrs.Mollweide()) c=ax.contour(lon,lat,dat, levels=list(range(0,6,2)), colors='k',linewidths=1, transform=ccrs.Mollweide()) ax.coastlines()然后怎么把海洋填成灰色
时间: 2023-06-09 19:06:38 浏览: 84
您可以使用h.set_cmap来将海洋填充颜色设置为灰色。具体实现方法如下:
fig = plt.figure(figsize=(11,8.5))
ax = fig.add_subplot(1,1,1, projection=ccrs.Mollweide())
h = ax.contourf(lon,lat,dat, levels=list(range(0,6,1)), extend='both', cmap='coolwarm', transform=ccrs.Mollweide())
c = ax.contour(lon,lat,dat, levels=list(range(0,6,2)), colors='k', linewidths=1, transform=ccrs.Mollweide())
ax.coastlines()
h.set_cmap('Greys')
相关问题
找出以下代码为什么保存的图有网格线: png = os.path.join(png_path, png_name) map_data = sunpy.map.Map(fits) fig_size = resolution/dpi fig = plt.figure(figsize=(fig_size, fig_size), dpi=dpi) fig.add_subplot([0, 0, 1, 1], projection=map_data) map_data.plot() plt.savefig(png)
根据你提供的代码,可以看到在保存图像之前,没有设置网格线的显示选项。但是如果保存的图像中包含网格线,有可能是因为在之前的代码中设置了 matplotlib 的全局参数来显示网格线。这些全局参数会影响所有之后创建的图形窗口。
你可以尝试在绘制图像之前,使用 `plt.grid(False)` 来关闭网格线的显示,然后再保存图像。以下是修改后的代码:
```python
import os
import sunpy.map
import matplotlib.pyplot as plt
png = os.path.join(png_path, png_name)
map_data = sunpy.map.Map(fits)
fig_size = resolution/dpi
fig = plt.figure(figsize=(fig_size, fig_size), dpi=dpi)
fig.add_subplot([0, 0, 1, 1], projection=map_data)
# 关闭网格线的显示
plt.grid(False)
map_data.plot()
plt.savefig(png)
```
通过添加 `plt.grid(False)` 可以确保在保存图像时不显示网格线。
希望这能解决你的问题!如果还有其他疑问,请随时提问。
python中fig = plt.figure()三维坐标中各坐标显示范围固定
要固定三维坐标轴的显示范围,可以使用 `set_xlim`, `set_ylim` 和 `set_zlim` 方法来设置每个坐标轴的显示范围。具体地:
```python
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 生成一些数据
x = [1, 2, 3, 4, 5]
y = [6, 7, 8, 9, 10]
z = [11, 12, 13, 14, 15]
# 绘制散点图
ax.scatter(x, y, z)
# 设置每个坐标轴的显示范围
ax.set_xlim([0, 6])
ax.set_ylim([5, 11])
ax.set_zlim([10, 16])
plt.show()
```
在上面的代码中,`ax.set_xlim([0, 6])` 将 x 轴的显示范围固定在 0 到 6 之间,`ax.set_ylim([5, 11])` 将 y 轴的显示范围固定在 5 到 11 之间,`ax.set_zlim([10, 16])` 将 z 轴的显示范围固定在 10 到 16 之间。