Я создал этот график с помощью ggplot2:
Внешние линии должны быть соответствуют масштабу Y (т. е. положение Y строк для Text1 должно быть 100 и 85). Единственный способ сделать это, нарисовав пустой график справа от рисунка с тем же масштабом, что и гистограмма, а затемиспользуя функцию аннотации для рисования линий. Другой подход состоит в том, чтобы просто «вручную» нарисовать линии с помощью grid.lines
, однако координаты grid.lines
не будут соответствовать шкале Y графика.
Можно ли как-то провести эти линии другим способом? Я предполагаю, что это нужно сделать с помощью grid.lines
. Как передать координаты Y гистограммы в сетку .строки
?
Ниже приведен минимальный код, используемый для создания этой фигуры:
library (ggplot2)
test= data.frame(
group=c(rep(1,6), rep(2,6)),
subgroup=c( 1,1,1,2,2,2,1,1,1,2,2,2),
category=c( rep(1:3, 4)),
count=c( 10,80,10,5,90,5, 10,80,10,5,90,5 )
)
qplot(subgroup,
count,
data=test,
geom="bar",
stat="identity",
fill =category,
facets = .~ group, width=0.9)+
opts(legend.position="none",
plot.margin = unit(c(0,9,2,0), "lines"))
Как нарисовать линии справа от полос?
Недавно я задал вопрос о рисовании текста вне области графика в ggplot2и решил использовать gt$layout
и grid.draw
.
Отображение текста под графиком, сгенерированным ggplot2
Можно ли использовать подобный подход здесь? Насколько я понимаю, annotation_custom предназначен только для текста и не будет работать с другими графическими элементами. Спасибо