ggplot2: Фигурные скобки на оси?

В , отвечая на недавний вопрос о визуализации, мне действительно нужны были фигурные скобки, чтобы показать промежуток на оси, и я не могу понять узнал, как это сделать в ggplot2. Вот график:

example plot

Вместо галочки мне бы очень хотелось, чтобы метка оси Y «Вторая буква из двухбуквенных имен» имела скобку, простирающуюся от 1 до 10 (вертикальный промежуток красной и синей секунды письма). Но я не знаю, как это сделать. Аналогичная обработка может быть полезна для оси x.

Код доступен в связанном вопросе CrossValidated (и излишне сложен для этого примера, поэтому я не буду его показывать). Вместо этого вот минимальный пример:

library(ggplot2)
x <- c(runif(10),runif(10)+2)
y <- c(runif(10),runif(10)+2)
qplot(x=x,y=y) +
  scale_x_continuous("",breaks=c(.5,2.5),labels=c("Low types","High types") )

minimal example

В этом случае скобка из (0,1) для младших типов и из (2,3) для высоких типов была бы идеальной вместо меток.

Я бы лучше не использовать geom_rect , потому что:

  • Галочки останутся
  • Я бы предпочел фигурные скобки
  • Они будут внутри графика, а не вне его

Как мне это сделать? Идеальным ответом было бы:

  • Красивая, гладкая, тонкая фигурная скобка
  • Нарисованная за пределами области построения
  • Заданная через аргумент высокого уровня (в идеале объект типа диапазона, переданный в разрывы в scale_x_continuous )

17
задан Community 13 April 2017 в 12:44
поделиться