У меня есть 2 сюжета одной и той же вещи, за исключением того, что цвета, заполняющие бары, различны на каждом участке. Поскольку легенда на разных графиках имеет разную ширину из-за размера имен на ней, соотношение между графом и легендой становится разным на каждом сюжете. Мне нужно, чтобы оба выглядели одинаково.ggplot2 легенда ширина и строка легенды размер
Это пример:
library(ggplot2)
x = c(rep("a",20),rep("b",10))
y = c(x = c(rep("BIGTEXT",20),rep("EVENBIGGERTEXT",10)))
df = data.frame(x,y)
p1 = ggplot(df,aes(x,fill=x)) + geom_bar()
p2 = ggplot(df,aes(y,fill=y)) + geom_bar()
p1
p2
очень элегантный, но это приводит к тому, что ключи легенды находятся в несколько разных положениях между участками. Есть ли способ заставить приравнивание ширины к легендарному gtable? – user20650
@ user20650 это конечно возможно, но несколько неудобно, потому что я) все это плохо документировано (можно было бы ожидать «legend.margin» или «legend.justification», чтобы помочь с этим, но нет), ii) ggplot продолжает менять свой макет структура с течением времени; iii) gtble никогда не обращался к обоснованию удобным образом, требуя более глубоких и более глубоких уровней вложенных матчей, которые трудно ориентироваться. Вопрос не был конкретным в этом вопросе, поэтому я не уверен, что такое предполагаемый прецедент. – baptiste