Построить цветную карту с абсцессом разных «бен» - PullRequest
0 голосов
/ 12 октября 2018

Я беру пример с здесь , чтобы объяснить, что я хочу сделать:

import numpy as np
from matplotlib.mlab import griddata
import matplotlib.pyplot as plt 

xs0 = [1,4,0.5,2,5,10,33,0.04]
ys0 = [2,5,44,0.33,2,14,20,0.03]
zs0 = [0.77, 0.88, 0.65, 0.55, 0.89, 0.9, 0.8,0.95]

N = 30j
extent = (np.min(xs0),np.max(xs0),np.min(ys0),np.max(ys0))  
xs,ys = np.mgrid[extent[0]:extent[1]:N, extent[2]:extent[3]:N]    
resampled = griddata(xs0, ys0, zs0, xs, ys, interp='linear')   
plt.imshow(np.fliplr(resampled).T, extent=extent,interpolation='none')
plt.colorbar()

введите описание изображения здесь

Но тамЕсть много проблем, которые я не могу решить:

  • Невозможно изменить длину x абсцессов относительно y единицы.Это большая проблема, когда у вас есть порядки между данными x и y.
  • Если бы я имел color= 'bwr' в функции imshow, это не работает!Я не понимаю почему.

  • Самый важный момент: как мы можем исправить одну корзину для абсцесса x, а другую - для y?В моем измерении я брал 800 баллов за каждый цикл (абсцесс), но только для 50 различных значений х.Это проблема.Я хотел бы иметь возможность выбирать их независимо, без какой-либо интерполяции между двумя различными значениями х.Я могу изменить xs,ys = np.mgrid[extent[0]:extent[1]:N, extent[2]:extent[3]:N] на xs,ys = np.mgrid[extent[0]:extent[1]:N, extent[2]:extent[3]:M] и создать N = 30j и M = 300j, но это не удобно ...

  • И последний вопрос: что это такое N = 30j?Почему бы просто не N = 30?!

Большое спасибо за вашу помощь!Как видите, я немного растерялся ... (конечно, я не чувствую себя обязанным использовать этот код ... У меня просто есть данные X, Y, Z, которые я хочу построить)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...