2016-04-20 3 views
1

У меня есть два массива данных, x и y. Я хотел бы построить график рассеяния y по сравнению с x. Диапазон x равен [0,3], а диапазон y равен [-3, 3]. Затем я хочу скомпоновать эту область в сетку n на m и покрасить точки в каждом регионе на основе значений отдельного массива 2D numpy (той же формы, что и сетка, n на m). Итак, верхняя левая ячейка сетки моего сюжета должна быть окрашена в зависимости от значения colorarr [0] [0] и т. Д. У кого-нибудь есть предложения по тому, как это сделать? Ближайший я "ве нашел до сих пор является следующее:.!Цветная 2D-сетка со значениями из отдельной 2D-матрицы

2D grid data visualization in Python

К сожалению, это просто отображает colorarr, а не 2D области я хотел бы представить

Благодаря

ответ

1

I думаю, что вы хотите это 2 мерных гистограмм. Matplotlib.pyplot делает это очень легко.

import numpy as np 
import matplotlib.pyplot as plt 


# Make some points 
npoints = 500 
x = np.random.uniform(low=0, high=3, size=npoints) 
y = np.random.uniform(low=-3, high=3, size=npoints) 

# Make the plot 
plt.hist2d(x, y) 
plt.colorbar() 
plt.show() 

enter image description here

0

Вы можете сделать это от всего массива цвета, установив extent и aspect ключевые слова из imshow

import matplotlib as plt 
import numpy as np 

zval = np.random.rand(100, 100) 
plt.imshow(zvals, extent=[0,3,-3,3], aspect="auto") 
plt.show() 

То, что вы получите это zval массив просто «хрустнуло в» [0:3, -3:3] диапазоне. Участвуйте только в массиве zval в imshow, чтобы убедиться в этом.

Смежные вопросы