2011-06-14 42 views
1

我有一組x,y地圖座標,我想要在地圖的背景圖上繪製。在背景圖像上覆蓋散點圖並更改軸範圍

我使用下面的代碼來顯示我的地圖:

import matplotlib.pyplot as plt 
im=plt.imread('map.gif') 
implot=plt.imshow(im,origin='lower') 

現在對於x和y軸的範圍是所述圖像的像素值。就我而言,它們是:

im.shape[0] 
545 
im.shape[1] 
1011 

所以情節的x軸從0到1011和從0到545

y軸的地圖實際上涵蓋從-100範圍在x軸上爲+100,在y軸上爲-50至50,我的x,y座標值在同一個系統上。

如何獲得從-100到+100而不是0到1011的繪圖的x軸?然後重疊繪製我的x,y散點圖。

回答

1

下面的代碼,從matplotlib部位,示出了曲線圖,從-3變爲3,檢查出來:

#!/usr/bin/env python 
import numpy as np 
import matplotlib.cm as cm 
import matplotlib.mlab as mlab 
import matplotlib.pyplot as plt 

delta = 0.025 
x = y = np.arange(-3.0, 3.0, delta) 
X, Y = np.meshgrid(x, y) 
Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0) 
Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1) 
Z = Z2-Z1 # difference of Gaussians 

im = plt.imshow(Z, interpolation='bilinear', cmap=cm.gray, 
       origin='lower', extent=[-3,3,-3,3]) 

plt.show() 

重要的部分是「imshow」的「程度」的說法。

+0

謝謝,這似乎工作! – Hooloovoo 2011-06-15 10:11:19

+0

沒問題,很樂意幫忙。 – marr75 2011-06-16 16:30:11