我可以在Python中使用matplotlib
的Basemap
来绘制地球仪,并且我可以设置地球仪的颜色以及我在其上绘制的任何内容(大陆等) )。但这张地球仪图像设置在白色背景上;如何更改白色背景的颜色?
代码如下:
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
m = Basemap(projection='ortho',lat_0=0,lon_0=0,resolution='c')
m.drawmapboundary(fill_color='black')
m.drawcoastlines(linewidth=1.25, color='#006600')
plt.savefig('/tmp/out.png')
产生这个,我想改变白色背景
最佳答案
您可以使用以下方法来执行此操作:
import matplotlib
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
matplotlib.use('Agg')
fig = plt.figure()
fig.patch.set_facecolor('blue')
fig.patch.set_alpha(0.7)
ax = fig.add_subplot(111)
m = Basemap(projection='ortho',lat_0=0,lon_0=0,resolution='c',ax=ax)
m.drawmapboundary(fill_color='black')
m.drawcoastlines(linewidth=1.25, color='#006600')
plt.savefig('Desktop/out.png',facecolor="red", edgecolor="blue")
当您使用“plt.show()”显示它时,这会创建一个具有蓝色背景的绘图,但保存的 map 图像具有红色背景。原因是您使用不同的功能将图像渲染到不同的设备。更多详情可查看here和 here 。希望这可以帮助。
关于python - 在 matplotlib basemap 正射投影中更改图像背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27093401/