2014-03-12 4 views
0

Я вычисляю навигационную меру в матрицу из треков голубей. Результат будет выглядеть как кадр данных, созданный приведенным ниже примером. Каждая строка представляет собой разную длину окна, в то время как каждый столбец представляет собой количество секунд с момента выпуска. Диапазон данных находится между 0 без данных, от 0,001 до 1 для данных.Построение большой матрицы в матрицу пикселей в R

То, что я тоже хочу, - это график каждой точки как непересекающийся квадрат на графике XY по цветовой гамме. Таким образом, 0 = белый (без данных), а 0,001-0,1 темно-синий, 0,101-.2 - голубой и т. Д. Есть ли способ построения графика, который это сделает?

example.data<-c(0.000,0.000,0.000,0.000,0.000,1.000,0.000,0.000, 0.000,0.000,1.000,0.956,0.000,0.000,0.000,1.000,0.991,0.948,0.000,0.000,1.000,0.989,0.985,0.944,0.000,1.000,0.998,0.993,0.989,0.954,1.000,0.995,0.100,4.000,0.990,1.000,0.987,0.500,0.600,0.986,1.000,0.993,0.450,0.200,0.250) 

example.data<-as.matrix(example.data[1:5,1:9]) 

names(example.data<)<-paste("Seconds",c(1:9)) 
row.names(example.data<)<- paste("Window",c(1:5)) 
+0

На каком языке мы говорим? – aruisdante

+0

Ooops good point, R –

+0

Я использую функцию 'image()' для этого ... Но ggplot2 тоже может это сделать. У вас есть предпочтения? – beroe

ответ

0

Посмотрите на график heatmap. Вам нужны цифровая матрица

x <- as.matrix(example.data) 
heatmap(x[1:10,1:10],Rowv=NA,Colv=NA,reorderfun=NA,hclustfun=NA) 

Но если вы пытаетесь построить все эти данные вы получите многоцветной беспорядок, который на самом деле не сказать ничего.

+0

Удивительно, данные примера - неупорядоченный беспорядок, но реальные данные изменяются в шагах, поэтому он будет выглядеть более упорядоченным с большими патчами синего и красного. –

+0

График тепловыделения выглядит многообещающим, но шаблон не похож на то, что я должен получить из данных примера. Например, нижняя строка должна быть всего одного цвета, например. красный, в то время как первая ячейка на линии два должна быть одного цвета (например, белого), первые два на третьей строке должны быть того же цвета и так далее. –

+0

Хмм да, это должно быть что-то делать. Результат для ваших новых данных примера, когда я запускаю Heatmap, похож на вывод изображения beroe, но переносится. Похоже, что изображение больше того, что вы были после – JeremyS

2

Вы можете изменить форму на матрицу (используя matrix вместо as.matrix), а затем визуализируйте с помощью image(). Я добавил одно значение для набора данных, так что 5x9 вместо длинных 44 элементов ...

numrows = 5 
numcols = 9 
example.matrix = matrix(example.data,numrows,numcols) 
image(example.matrix,col=blue9) 

Выход:

enter image description here

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