python - 在 matplotlib basemap 正射投影中更改图像背景颜色

标签 python matplotlib matplotlib-basemap

我可以在Python中使用matplotlibBasemap来绘制地球仪,并且我可以设置地球仪的颜色以及我在其上绘制的任何内容(大陆等) )。但这张地球仪图像设置在白色背景上;如何更改白色背景的颜色?

代码如下:

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')

产生这个,我想改变白色背景 enter image description here

最佳答案

您可以使用以下方法来执行此操作:

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 图像具有红色背景。原因是您使用不同的功能将图像渲染到不同的设备。更多详情可查看herehere 。希望这可以帮助。

enter image description here

关于python - 在 matplotlib basemap 正射投影中更改图像背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27093401/

相关文章:

python - 定位彩条 - Matplotlib

python - Selenium Firefox Webdriver 抛出 URLError

python - 如何迭代函数参数

python - 没有发现带有标签的 Handlebars 放在图例中

python - 我们如何在 python 中读取 16 个无符号整数 (16 uint) jpeg 文件

python - 将刻度线放在离散颜色条中每种颜色的中间

python - c有scanf,python有类似的东西吗?

python - Matplotlib:限制绘图宽度同时允许灵活的高度

python - Matplotlib,损坏的图形表示错误

python - 在 x 轴上旋转 basemap 子午线标签