我想在python上使用mpl_toolkits.basemap,並且每次使用drawcoastlines()或任何其他繪圖功能時,程序都會自動在屏幕上顯示繪圖。有沒有辦法讓底圖不顯示情節?
我的問題是,我想在稍後的外部服務器上使用這些程序,並返回'SystemExit:無法訪問X顯示器,是否正確設置了$ DISPLAY?
有什麼辦法可以避免當我使用底圖功能時顯示的情節? 我只是想將它保存到一個文件,以便以後我可以在外部讀取它。
我的代碼是:
from mpl_toolkits.basemap import Basemap
import numpy as np
m = Basemap(projection='robin',lon_0=0)
m.drawcoastlines()
#m.fillcontinents(color='coral',lake_color='aqua')
# draw parallels and meridians.
m.drawparallels(np.arange(-90.,120.,10.))
m.drawmeridians(np.arange(0.,360.,60.))
您使用的是什麼python shell?我懷疑你正在使用iPython?當我用cPython(即'python')shell運行你的代碼時,它不會顯示數字,除非我調用'matplotlib.pyplot.show()'(或者其他類似的東西)。 – farenorth 2014-10-31 16:19:32
是的,我使用的是ipython,但是當我在我的電腦的控制檯中使用python filename.py時,圖形沒有出現,但是如果我在服務器控制檯上這樣做,它會返回相同的錯誤。 – Numlet 2014-10-31 16:41:14
您是否嘗試過明確設置交互模式,即'plt.ioff()'?或者你是否明確地嘗試過使用非交互式後端,即將'matplotlib.rcsetup.non_interactive_bk'中的一個字符串提供給'matplotlib.use'? – farenorth 2014-10-31 17:02:53