在y轴上的切面使用ggplotly绘制R闪亮中的单个点以进行可视化

时间:2017-05-30 10:18:04

标签: r ggplot2 shiny plotly facet

我有一个数据框,我在这里附加了该数据框的dput输出和用于使用ggplotly绘制该数据帧的代码片段。我正在使用R shiny来构建应用程序。如果我不使用刻面,那么我得到所需的输出。但是当我使用刻面然后在图的y轴上时,分组完成但在第一行的底部只绘制了一个点。

dput(head(sub_data))

输出功能。

 structure(list(RT_ID = structure(c(1L, 1L, 1L, 1L, 1L, 1L),  
.Label=c("RT_007606","RT_007950", "RT_007991", "RT_008100", "RT_008423", 
"RT_009020", "RT_009122", "RT_009134", "RT_009715", 
"RT_009838", "RT_009841", "RT_009976", "RT_010015", 
"RT_010118", "RT_010154", "RT_010363", "RT_010448", 
"RT_010927", "RT_011560", "RT_011722", "RT_000189", 
"RT_000260", "RT_000278", "RT_000887", "RT_000891", 
"RT_001080", "RT_001874", "RT_001925", "RT_001987", 
"RT_002048", "RT_002249", "RT_002465", "RT_002806", 
"RT_003107", "RT_003175", "RT_003251", "RT_003590", 
"RT_003614", "RT_003918", "RT_004664", "RT_004719", 
"RT_004807", "RT_005181", "RT_005298", "RT_005896", 
"RT_005951", "RT_006598", "RT_006780", "RT_006851", 
"RT_007061", "RT_007298", "RT_007588", "RT_008718", 
"RT_008756", "RT_008992", "RT_009371", "RT_009449", 
"RT_010044", "RT_010206", "RT_010550", "RT_010767", 
"RT_010858", "RT_010892", "RT_011868", "RT_011941", 
"RT_012216", "RT_012221", "RT_012355", "RT_012383", 
"RT_012477", "RT_012742", "RT_012810", "RT_012870", 
"RT_013172", "RT_013390", "RT_013442", "RT_013471", 
"RT_013510", "RT_013764", "RT_000030", "RT_000139", 
"RT_000142", "RT_000319", "RT_000330", "RT_000527", 
"RT_000895", "RT_000987", "RT_001185", "RT_001188", 
"RT_001397", "RT_001430", "RT_001663", "RT_001809", 
"RT_002778", "RT_002788", "RT_003020", "RT_003678", 
"RT_003838", "RT_004276", "RT_004539", "RT_004706", 
"RT_004903", "RT_005367", "RT_005386", "RT_005796", 
"RT_005936", "RT_006059", "RT_06162", "RT_006265", 
"RT_006438", "RT_006547", "RT_006550", "RT_006653", 
"RT_006758", "RT_006995", "RT_006996", "RT_007170", 
"RT_007179", "RT_007291", "RT_007341", "RT_007576", 
"RT_007639", "RT_007852", "RT_007939", "RT_008424", 
"RT_008428", "RT_008498", "RT_008567", "RT_008710", 
"RT_009103", "RT_009105", "RT_009336", "RT_009811", 
"RT_009901", "RT_010525", "RT_010569", "RT_010635", 
"RT_010900", "RT_010902", "RT_011118", "RT_011163", 
"RT_011310", "RT_011351", "RT_011561", "RT_011630", 
"RT_011854", "RT_011899", "RT_012077", "RT_012436", 
"RT_012439", "RT_012523", "RT_012546", "RT_012814", 
"RT_013262", "RT_013314", "RT_013854", "RT_000049", 
"RT_000081", "RT_000267", "RT_000403", "RT_000477", 
"RT_000624", "RT_000709", "RT_000739", "RT_001151", 
"RT_001396", "RT_001507", "RT_002198", "RT_002500", 
"RT_002524", "RT_002850", "RT_002855", "RT_003239", 
"RT_003273", "RT_003344", "RT_003408", "RT_003826", 
"RT_003882", "RT_004056", "RT_004082", "RT_004248", 
"RT_004293", "RT_004610", "RT_004625", "RT_004780", 
"RT_004810", "RT_005169", "RT_005526", "RT_005655", 
"RT_006102", "RT_006334", "RT_006424", "RT_006506", 
"RT_006507", "RT_006720", "RT_006889", "RT_006969", 
"RT_007018", "RT_007069", "RT_007287", "RT_007478", 
"RT_007897", "RT_007945", "RT_007999", "RT_008070", 
"RT_008671", "RT_008679", "RT_008968", "RT_009252", 
"RT_009615", "RT_009809", "RT_010119", "RT_010508", 
"RT_010624", "RT_010835", "RT_010910", "RT_010927", 
"RT_010933", "RT_011260", "RT_011671", "RT_011854", 
"RT_012273", "RT_012641", "RT_012690", "RT_012706", 
"RT_012839", "RT_013125"), class = "factor"), Date = structure(c(15939, 
15940, 15943, 15946, 15948, 15951), class = "Date"), Event_type = structure(c(5L, 
5L, 5L, 5L, 5L, 5L), .Label = c("Admission", "Blast-High", "Blast-Low", 
"Discharge", "Examination", "RBC-High", "RBC-Low", "RBC-Normal", 
"Ultrasound", "WBC-High", "WBC-Low", "WBC-Normal", "X-ray"), class = "factor"), 
Value = c(NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
NA_real_), x2 = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = c("PID001", 
"PID002", "PID003", "PID004", "PID005", "PID006", "PID007", 
"PID008", "PID009", "PID010", "PID011", "PID012", "PID013", 
"PID014", "PID015", "PID016", "PID017", "PID018", "PID019", 
"PID020", "PID021", "PID022", "PID023", "PID024", "PID025", 
"PID026", "PID027", "PID028", "PID029", "PID030", "PID031", 
"PID032", "PID033", "PID034", "PID035", "PID036", "PID037", 
"PID038", "PID039", "PID040", "PID041", "PID042", "PID043", 
"PID044", "PID045", "PID046", "PID047", "PID048", "PID049", 
"PID050", "PID051", "PID052", "PID053", "PID054", "PID055", 
"PID056", "PID057", "PID058", "PID059", "PID060", "PID061", 
"PID062", "PID063", "PID064", "PID065", "PID066", "PID067", 
"PID068", "PID069", "PID070", "PID071", "PID072", "PID073", 
"PID074", "PID075", "PID076", "PID077", "PID078", "PID079", 
"PID080", "PID081", "PID082", "PID083", "PID084", "PID085", 
"PID086", "PID087", "PID088", "PID089", "PID090", "PID091", 
"PID092"), class = "factor"), separate = c("EXM", "EXM", 
"EXM", "EXM", "EXM", "EXM"), days = c(15939, 15940, 15943, 
15946, 15948, 15951), Patient_ID = structure(c(264L, 264L, 
264L, 264L, 264L, 264L), .Label = c("PID092_ADM", "PID091_EXM", 
"PID091_DIS", "PID091_ADM", "PID090_EXM", "PID090_DIS", "PID090_ADM", 
"PID089_EXM", "PID088_EXM", "PID088_DIS", "PID088_ADM", "PID087_EXM", 
"PID087_DIS", "PID087_ADM", "PID086_EXM", "PID085_EXM", "PID085_DIS", 
"PID085_ADM", "PID084_EXM", "PID084_DIS", "PID084_ADM", "PID083_EXM", 
"PID083_DIS", "PID083_ADM", "PID082_EXM", "PID082_DIS", "PID082_ADM", 
"PID081_EXM", "PID081_DIS", "PID081_ADM", "PID080_EXM", "PID080_DIS", 
"PID080_ADM", "PID079_EXM", "PID079_DIS", "PID079_ADM", "PID078_EXM", 
"PID078_DIS", "PID078_ADM", "PID077_EXM", "PID077_DIS", "PID077_ADM", 
"PID076_EXM", "PID076_DIS", "PID076_ADM", "PID075_EXM", "PID075_DIS", 
"PID075_ADM", "PID074_EXM", "PID074_DIS", "PID074_ADM", "PID073_EXM", 
"PID073_DIS", "PID073_ADM", "PID072_EXM", "PID072_DIS", "PID072_ADM", 
"PID071_EXM", "PID071_DIS", "PID070_EXM", "PID070_DIS", "PID070_ADM", 
"PID069_EXM", "PID069_DIS", "PID069_ADM", "PID068_EXM", "PID068_DIS", 
"PID068_ADM", "PID067_EXM", "PID067_DIS", "PID067_ADM", "PID066_EXM", 
"PID066_DIS", "PID066_ADM", "PID065_EXM", "PID065_DIS", "PID065_ADM", 
"PID064_EXM", "PID064_DIS", "PID064_ADM", "PID063_EXM", "PID063_DIS", 
"PID063_ADM", "PID062_EXM", "PID062_DIS", "PID062_ADM", "PID061_EXM", 
"PID061_DIS", "PID061_ADM", "PID060_EXM", "PID060_DIS", "PID060_ADM", 
"PID059_EXM", "PID059_DIS", "PID059_ADM", "PID058_EXM", "PID058_DIS", 
"PID058_ADM", "PID057_EXM", "PID057_DIS", "PID057_ADM", "PID056_EXM", 
"PID056_DIS", "PID056_ADM", "PID055_EXM", "PID055_DIS", "PID055_ADM", 
"PID054_EXM", "PID054_DIS", "PID054_ADM", "PID053_EXM", "PID053_DIS", 
"PID053_ADM", "PID052_EXM", "PID052_DIS", "PID052_ADM", "PID051_EXM", 
"PID051_DIS", "PID051_ADM", "PID050_EXM", "PID050_DIS", "PID050_ADM", 
"PID049_EXM", "PID049_DIS", "PID049_ADM", "PID048_EXM", "PID048_DIS", 
"PID048_ADM", "PID047_EXM", "PID047_DIS", "PID047_ADM", "PID046_EXM", 
"PID046_DIS", "PID046_ADM", "PID045_EXM", "PID045_DIS", "PID045_ADM", 
"PID044_EXM", "PID044_DIS", "PID044_ADM", "PID043_EXM", "PID043_DIS", 
"PID043_ADM", "PID042_EXM", "PID042_DIS", "PID042_ADM", "PID041_EXM", 
"PID041_DIS", "PID041_ADM", "PID040_EXM", "PID040_DIS", "PID040_ADM", 
"PID039_EXM", "PID039_DIS", "PID039_ADM", "PID038_EXM", "PID038_DIS", 
"PID038_ADM", "PID037_EXM", "PID037_DIS", "PID037_ADM", "PID036_EXM", 
"PID036_DIS", "PID036_ADM", "PID035_EXM", "PID035_DIS", "PID035_ADM", 
"PID034_EXM", "PID034_DIS", "PID034_ADM", "PID033_EXM", "PID033_DIS", 
"PID033_ADM", "PID032_EXM", "PID032_DIS", "PID032_ADM", "PID031_EXM", 
"PID031_DIS", "PID031_ADM", "PID030_EXM", "PID030_DIS", "PID030_ADM", 
"PID029_EXM", "PID029_DIS", "PID029_ADM", "PID028_EXM", "PID028_DIS", 
"PID028_ADM", "PID027_EXM", "PID027_DIS", "PID027_ADM", "PID026_DIS", 
"PID025_EXM", "PID025_DIS", "PID025_ADM", "PID024_EXM", "PID024_DIS", 
"PID024_ADM", "PID023_EXM", "PID023_DIS", "PID023_ADM", "PID022_EXM", 
"PID022_DIS", "PID022_ADM", "PID021_EXM", "PID021_DIS", "PID021_ADM", 
"PID020_EXM", "PID020_DIS", "PID020_ADM", "PID019_EXM", "PID019_DIS", 
"PID019_ADM", "PID018_EXM", "PID018_DIS", "PID018_ADM", "PID017_EXM", 
"PID017_DIS", "PID017_ADM", "PID016_EXM", "PID016_DIS", "PID016_ADM", 
"PID015_EXM", "PID015_DIS", "PID015_ADM", "PID014_EXM", "PID014_DIS", 
"PID014_ADM", "PID013_EXM", "PID013_DIS", "PID013_ADM", "PID012_EXM", 
"PID012_DIS", "PID012_ADM", "PID011_EXM", "PID011_DIS", "PID011_ADM", 
"PID010_EXM", "PID010_DIS", "PID010_ADM", "PID009_EXM", "PID009_DIS", 
"PID008_EXM", "PID008_DIS", "PID008_ADM", "PID007_EXM", "PID007_DIS", 
"PID007_ADM", "PID006_EXM", "PID006_DIS", "PID006_ADM", "PID005_EXM", 
"PID005_DIS", "PID005_ADM", "PID004_EXM", "PID004_DIS", "PID004_ADM", 
"PID003_EXM", "PID003_DIS", "PID003_ADM", "PID002_EXM", "PID002_DIS", 
"PID002_ADM", "PID001_EXM", "PID001_DIS", "PID001_ADM"),      class="factor")),.Names = c("RT_ID", 
"Date", "Event_type", "Value", "x2", "separate", "days", "Patient_ID"
), row.names = c(NA, 6L), class = "data.frame")

使用ggplot和ggplotly绘制数据的代码片段。

    g <- ggplot(sub_data, aes(x=Date , y=Patient_ID, color= Event_type, text=paste("Event Date:", sub_data$Date, "<br>", "Value:", sub_data$Value, "<br>","MR_ID: ", sub_data$MR_ID))) + 
      labs(x="Date") + labs(y= "Patient ID") +
      geom_point(size=1, shape=22, stroke=2) + 
      labs(color = "") + theme( axis.ticks.x = element_blank(), axis.text.y=element_blank(), axis.ticks.y = element_blank(), plot.margin = unit(c(0, 1, 1, 1), "cm")) +
      scale_colour_discrete(drop=TRUE,limits = levels(sub_data$Event_type)) +
      scale_x_date(expand = c(0, 5)) + scale_y_discrete(expand = c(0, 1))

    g <- g + facet_grid(factor(x2) ~ .)
    ggplotly(g, width = as.numeric(input$width), height = as.numeric(input$height))%>% layout(legend = list(orientation = 'h', x=0, y=as.numeric(input$height), margin=0, pad=0, xanchor="left"), yaxis = list(title = "Patient ID"))

0 个答案:

没有答案