2016-07-10 11 views
4

Ich möchte OHS-Vorfälle über eine PNG eines Krankenhaus-Grundrisses mit ggplot2 zuordnen. Ich habe versucht, diese nicht geografische Karte als ein ggimage zu lesen.Verwenden Sie ggplot zum Zeichnen über ein Bild mit der Legende

ICU Floor Plan

Bisher habe ich folgendes mit dem Datensatz (14462) versucht Beobachtungen, die ich habe.

Beispiel Dataset

toy <- data.frame(patient_ID = c(1001,1001,1002,1003,1004), 
       SEX = c("M","M","F","F","F"), 
       phenotype = c("Psychiatric","Psychiatric", "Cardio", 
          "Cancer","Psychiatric"), 
          x = c(0.5737, 0.5737, 0.6968, 0.4704, 0.6838), 
          y= c(0.3484, 0.3484, 0.62, 0.5216, 0.2486)) 

Ich habe versucht, die Datei in einem Raster zu lesen und dann ggmaps verwenden, aber die Schwierigkeit ist keine Legende.

library(ggmap) 
library(png) 
library(ggplot2) 
library(data.table) 

toy <- fread("toy.csv") 

# read in image 

r <- readPNG("ICU-crop.png") 

#use ggimage to convert to plot and add gender 
ggimage(r, scale_axes = TRUE) + 
    geom_point(aes(x = x, y = y, colour = SEX), data = toy, 
      size = I(1), fill = NA) 

Ich würde gerne ggplot verwenden, aber brauchen die Legende. Ich bin mir nicht sicher, welche anderen Methoden ich verwenden kann, um über ein PNG zu gplottieren.

Antwort

3

Die wirkliche „Magie“ für dies ist nur fullpage=FALSE im Aufruf von ggimage(), aber Sie werden dann ein wenig nach oben Achsen reinigen müssen:

ggimage(r, fullpage = FALSE, scale_axes = TRUE) + 
geom_point(aes(x = x, y = y, colour = SEX), 
      data = toy, size = I(1), fill = NA) + 
    labs(x=NULL, y=NULL) + 
    theme(axis.text=element_blank()) + 
    theme(axis.ticks=element_blank()) 

enter image description here

Sie prbly aufzuräumen sollten Auch die Legende, und ich würde vorschlagen, das Basisbild etwas aufzuhellen, da es schwierig sein wird, den Kontrast zwischen den Farben und den Farben, die Sie überlagern werden, zu sehen (es sei denn, sie sind große Objekte).

+0

Vielen Dank für die Lösung und die zusätzlichen Hinweise zur Verbesserung der Visualisierung. Wird die Streudiagrammgröße und -farbe definitiv wie empfohlen ändern. – monkeyshines

Verwandte Themen