В настоящее время я работаю над проблемой с R. Я довольно новичок в R, поэтому мне не хватает опыта, на (я думаю) простой проблеме. У меня проблема с масштабированием изображения по отношению к некоторым данным, которые у меня есть. Изображение представляет собой план этажа. Данные, которые у меня есть, записываются вручную.R Масштабирование изображения для тепловой карты
данных выглядит следующим образом: Data
Мой код выглядит следующим образом:
theData <-data.frame(EntryNr = c(0001,0002,0003,0004,0005,0006,0007),
TimeSet = c('2017-01-15','2017-01-17','2017-01-18','2017-01-19','2017-01-20','2017-01-21','2017-01-22'),
SomeID = c('Mario','Mario','Mario','Luigi','Luigi','Luigi','Bowser'),
Room = c('Room1','Room1', 'Room1', 'Room1', 'Room1', 'Room1','Room1'),
theX = c(12.011, 11.767, 11.715, 11.827, 11.773,11.846,11.781),
theY = c(6.733, 6.698, 6.871, 6.799, 6.887, 6.327,6.577),
theZ = c(3, 2.958, 2.983, 2.981, 2.992,2.952,2.945))
thePicture <- readPNG("FloorPlan.png")
ggimage(thePicture, fullpage = FALSE) +
geom_point(aes(x = theX, y = theY, colour = SomeID),
data = theData, size = I(5), fill = NA) +
labs(x='X axis', y='Y axis')
и мой сюжет выглядит в конце (фоновое изображение простой план этажа): Plotted image from RStudio
Итак, моя проблема в том, что оси X и Y имеют действительно высокие масштабы. Y идет более 600 и X более 400. Но согласно данным, точки должны быть видны на участке в «Room1» (внизу справа), а не внизу слева.
Есть ли способ перемасштабировать изображение?
Что-то вроде:
оси X шкал от 0 до 15
Y оси шкала от 0 до 25
чрезмерной всей цели этого является построить тепловые карты с гораздо больше данных У меня есть и показываю, какой идентификатор был в «комнате» больше всего времени.
EDIT: , если я использую ggimage так:
ggimage(thePicture, fullpage = FALSE, scale_axes = TRUE) +
geom_point(aes(x = theX, y = theY, colour = SomeID),
data = theData, size = I(5), fill = NA) +
labs(x='X axis', y='Y axis')
scale_axes = TRUE, все мое изображение сжимается в левый нижний угол и масштаб идет от X = 0 до 12, Y = 0 до 7. так что это еще не так, как я этого хочу.
Я предполагаю, что он использовал пиксели из png ... возможно, вам нужно использовать коэффициент, чтобы добраться до правильных позиций – drmariod
, как это будет выглядеть? как например? (все еще довольно новый для R). Большое спасибо за подсказку. – BlainTheMono
Как насчет масштабирования ваших 'theX' и' theY' в том же диапазоне, что и размеры вашего изображения? –