2017-10-05 1 views
0

Salut je suis nouveau à R et ont une très petite questionentrées de légende de déménager et les étiquettes d'axe dans ggplot dans R

J'ai l'ensemble de données suivantes:

head(risk_free_rate_comparison) 

    Dates `  Swap rate` `Sovereign bond yield rate` `Swap rate - Sovereign bond yield rate` 
    <dttm>   <dbl>  <dbl>      <dbl> 
1 2007-01-02  408.9  380.9568     27.9432 
2 2007-01-03  410.3  380.4535     29.8465 
3 2007-01-04  409.2  381.3993     27.8007 
4 2007-01-05  414.3  385.0663     29.2337 
5 2007-01-08  413.1  384.2545     28.8455 
6 2007-01-09  415.5  384.9770     30.5230 

, avec l'intrigue suivante:

ggplot(d, aes(Dates, value, color = variable, linetype = variable)) + 
+  geom_line() + 
+  labs(color = NULL, linetype = NULL) + 
+  theme_classic() + 
+  theme(legend.position = "bottom") + 
+  ylab("Rates in bp") 

riskfreeratecomparison

Je suis satisfait de la position de la l egend, mais est-il possible d'avoir les entrées les unes sous les autres au lieu de côte à côte?

En outre, je voudrais déplacer les étiquettes d'axe un peu à l'écart de l'axe pour des raisons esthétiques.

Répondre

1

Mon thème() ajout à la fin traitera vos deux problèmes:

library(tidyverse) 

mtcars %>% 
    mutate(am = factor(am, labels = c("auto", "manu"))) %>% 
    ggplot(., aes(wt, mpg, color = am, linetype = am)) + 
    geom_line() + 
    labs(color = NULL, linetype = NULL) + 
    theme_classic() + 
    ylab("Rates in bp") + 
    theme(
    legend.position = "bottom", 
    legend.direction = "vertical", 
    legend.box.margin = margin(t = 30), 
    axis.title.x = element_text(margin = margin(t = 20)) 
) 
+0

Merci cela a fonctionné parfaitement! Cependant j'étais un peu peu spécifique. Je voudrais déplacer uniquement les libellés de l'axe des x, "Taux en bp" et "Dates" à l'extérieur, et non les nombres sur l'axe. – rbonac

+0

@rbonac, voir mes mises à jour à la réponse ci-dessus. Vous pouvez également trouver beaucoup de ces ajustements nuancés en tapant? Theme dans votre console. – Joe

+0

Oui, je l'ai vu et utilisé, la plupart ont fonctionné, mais si je le mets par exemple: axis.title.y = element_text (margin = margin (t = 20) l'étiquette de l'axe Y ne bouge pas vers la gauche , qu'est-ce que je fais de mal? – rbonac