Я хочу создать график, состоящий из точечной диаграммы и горизонтальной полосы ошибок в верхних диаграммах, используя пакет highcharter в R. Я надеюсь, что на графике будут две метки по оси Y, где левая сторона покажет имена каждой панели ошибок, а справа будет значение строк ошибок.
Исходя из здесь и здесь , я знаю, что возможно создать метку с двумя осями для оси Y. Однако для того, чтобы полосы ошибок были горизонтальными, мне нужно инвертировать / перевернуть оси (полосы ошибок в старших диаграммах вертикальные). По этой причине мне нужно иметь двойные метки X-axis и затем переворачивать координаты.
Я включил имеющийся у меня код, который создает точечную диаграмму и горизонтальную полосу ошибок, а также имеет имена слева.
Спасибо!
# load pacakge ---------------
if(!require(tidyverse)) {install.packages("tidyverse"); library(tidyverse)}
if(!require(magrittr)) {install.packages("magrittr"); library(magrittr)}
if(!require(highcharter)) {install.packages("highcharter"); library(highcharter)}
# sample data
dd <- read.table(textConnection("Abbreviation Adjustment Effect x_dummy lwr_final med_final upr_final
PBO A AA 0 7.37 12.7 18.82
PBO A BB 2 1.77 9.91 40.32
PBO B AA 4 7.37 12.7 18.82
PBO B BB 6 1.77 9.91 40.32
ABP A AA 1 3.07 4.63 6.89
ABP A BB 3 0.26 1.72 7.35
ABP B AA 5 3.07 4.63 6.89
ABP B BB 7 0.26 1.72 7.35
"), header = T)
# create group column
dd %<>%
mutate(grp1 = paste0(Adjustment, " (", Effect, ")"))
# category label for plot from
cat_lab <- dd %>%
dplyr::group_by(name = Abbreviation) %>%
dplyr::do(categories = array(.$grp1)) %>%
highcharter::list_parse()
# creating plot
pp <- highcharter::hchart(dd, "errorbar",
highcharter::hcaes(x = x_dummy, low = lwr_final, high = upr_final),
color = "black", whiskerLength = 5) %>%
highcharter::hc_add_series(dd, "scatter",
highcharter::hcaes(x = x_dummy, y = med_final),
marker = list(radius = 2),
color = "red") %>%
highcharter::hc_xAxis(categories = cat_lab) %>%
# flip coordinates
highcharter::hc_chart(inverted = TRUE)
pp