2017-10-05 3 views
0

Hey ich bin neu in R und habe eine sehr kleine FrageMehrere variable Plot, Linienstil und Dicke, schwarz und weiß

Ich habe folgende Datenmenge:

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 

mit folgenden Grundstück:

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") 
+ theme(
+ legend.position = "bottom", 
+ legend.direction = "vertical", 
+ legend.box.margin = margin(t = 20), 
+ axis.title.x = element_text(margin = margin(t = 20)), 
+ axis.title.y = element_text(margin = margin(r = 20)) 
+) 

riskfreeratescomparison

Jetzt würde ich gerne ändern die Linienfarben der drei Variablen zu Schwarz-Weiß-Stil. Und vielleicht unterschiedliche Linienstärken oder so etwas, um die Linien unterscheiden zu können.

+0

Sie können manuell die Linienfarbe, Linienbreite und Linientyp ändern mit 'scale_colour_manual()', 'scale_linetype_manual()', 'scale_size_manual()'. Sie stellen kein reproduzierbares Beispiel zur Verfügung, sehen Sie sich z. '? scale_colour_manual' für Beispiele. –

Antwort

1

@rbonac verwenden, sehen, ob dies hilft Ihnen heraus, und das Gefühl, Experimentieren Sie einfach, indem Sie verschiedene Ebenen auskommentieren oder scale_line_manual() verwenden, um Ihre Farben manuell festzulegen.

library(tidyverse) 

mtcars %>% 
    mutate(cyl = factor(cyl, labels = c("4", "6", "8"))) %>% 
    ggplot(., aes(wt, mpg, color = cyl, linetype = cyl)) + 
    geom_line(size = 2) + 
    labs(color = NULL, linetype = NULL) + 
    theme_classic() + 
    ylab("Rates in bp") + 
    scale_linetype_discrete() + 
    scale_color_grey() + 
    theme(
    legend.position = "bottom", 
    legend.direction = "vertical", 
    legend.box.margin = margin(t = 30), 
    axis.title.x = element_text(margin = margin(t = 20)) 
) 
1

Sie jede Variable auf eine Linie zuweisen Breitengröße Ästhetik verwenden und manuell Linienfarbe und Größe scale_colour_manual und scale_size_manual auf gewünschte Werte ändern

ggplot(d, aes(Dates, value, color = variable)) + 
    geom_line(aes(linetype = variable, size=variable)) + 
    labs(color = NULL, linetype = NULL, size = NULL) + 
    theme_classic() + 
    theme(legend.position = "bottom") + 
    ylab("Rates in bp") + 
    scale_colour_manual(values=c("gray50", "gray25", "gray0")) + 
    scale_size_manual(values=c(1, 1.5, 2)) + 
    theme(
    legend.position = "bottom", 
    legend.direction = "vertical", 
    legend.box.margin = margin(t = 20), 
    axis.title.x = element_text(margin = margin(t = 20)), 
    axis.title.y = element_text(margin = margin(r = 20)) 
    )