簡體   English   中英

在背景圖像上覆蓋散點 plot 並更改軸范圍

[英]Overlaying a scatter plot on background image and changing axes ranges

我有一組 x,y map 坐標,我想將其繪制在 map 的背景圖像上。

我使用以下代碼顯示我的 map:

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

所以 plot 的 x 軸從 0 到 1011,y 軸從 0 到 545。

map 實際上在 x 軸上覆蓋從 -100 到 +100 的范圍,在 y 軸上覆蓋從 -50 到 50 的范圍,並且我的 x、y 坐標值在同一個系統上。

如何讓 plot 的 x 軸從 -100 變為 +100 而不是 0 到 1011? 然后覆蓋我的 x,y 散點圖 plot。

以下代碼來自 matplotlib 站點,顯示了從 -3 到 3 的 plot,請查看:

#!/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' 的 'extent' 參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM