Наложение точечной диаграммы на фоновое изображение и изменение диапазонов осей

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, а ось y- - от 0 до 545.

карта фактически охватывает диапазон от -100 до +100 по оси x- и -50 50 в оси y- и мой х, у значения координат находятся на одной и той же системе.

Как я могу получить ось x- графика от -100 до +100, а не от 0 до 1011? а затем переопределить график рассеяния x, y.

Теги:
matplotlib
image
overlay

1 ответ

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

Важной частью является аргумент 'extent' 'imshow'.

  • 0
    Спасибо, это похоже на работу!
  • 0
    Нет проблем, рад помочь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню