2016-05-10 1 views
2

Я построил несколько довольно простых логарифмических графиков разметки matplotlib. Я доволен результатами до сих пор, но мне нужно изменить цвет каждой области сетки.Как использовать Matplotlib pyplot pcolor для обеспечения четкого цвета каждой сетки в моем графике

Текущий Участок:

enter image description here

Я хотел бы понять, как я мог бы сделать следующее:

enter image description here

Я признателен за любую помощь. Благодарю.

+0

Пожалуйста, разместите код, который создает исходный участок. – fjarri

ответ

0

Постройте небольшое изображение под диаграммой рассеяния с целым числом, обозначающим цвет плитки. Затем вы можете использовать pcolor для построения изображения, с помощью edgecolors для определения границ. Код ниже делает это, при этом цвет ячейки определяется как максимальный индекс ячейки i, j, который соответствует вашей сетке.

import numpy as np 
import matplotlib.pyplot as plt 

# define grid 
nx, ny = 6, 5 
x, y = np.arange(nx), np.arange(ny) 
xx, yy = np.meshgrid(x, y) 
z = np.maximum(xx, yy) 

# create random points 
npoints = 30 
data_x = 10**(np.random.rand(npoints)*nx) 
data_y = 10**(np.random.rand(npoints)*ny-1) 

# plot grid then points 
plt.pcolor(10.**x, 10.**(y-1), z, edgecolors='k') 
plt.loglog(data_x, data_y, '.w') 
plt.axis([1,10**5,0.1,10**3]) 
plt.show() 

Обратите внимание, что вы также можете использовать zorder = n, чтобы заставить график рассеяния над изображением.

+0

Спасибо! Это именно то, что мне нужно. – JoeG

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