2014-11-23 3 views
2

Я могу использовать matplotlib's Basemap в Python, чтобы нарисовать глобус, и я могу установить цвет земного шара и все, что я рисую на нем (континенты и т. Д.). Но этот образ земного шара установлен на белом фоне; как изменить цвет этого белого фона?Изменение цвета фона фона в matplotlib Базовая карта ортопроекция

код так:

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

ответ

2

Вы можете сделать это с помощью следующих действий:

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()», но сохраненное изображение карты имеет красный фон. Причина этого заключается в том, что вы визуализируете свое изображение на разных устройствах с использованием различных функций. Более подробную информацию можно найти here и here. Надеюсь это поможет. T

enter image description here

+0

Хороший ответ, но установка цвета к синему, используя 'fig.patch.set_facecolor («синий»)' не является необходимым и вводит немного путаницы. Или есть причина для этого, что я пропустил? –

+0

@snake_charmer Я согласен, что это не нужно. Я просто хотел показать, что есть несколько способов достижения результата окраски фона. Возможно, я должен удалить его, чтобы избежать путаницы. –

+0

Наличие обоих подходов является ценным, если они явно кажутся двумя различными решениями. –

Смежные вопросы