如何调整ggplot图表的颜色和比例?

时间:2015-08-17 07:38:02

标签: r ggplot2

我在调整颜色和比例图时遇到了一些困难:

这里有一些数据:

#Table 1

date<-c("2015-08-07","2015-08-08","2015-08-09")
A<-c(7268.45,11212.46,12850.15)
B<-c(7009.32,5665.81,16492.11)
C<-c(3582.07,1793.50,5556.42)
D<-c(3653.33,2335.34,2007.50)
df<-data.frame(date,A,B,C,D)


#Table 2

date<-c("2015-08-07","2015-08-08","2015-08-09")
A<-c(7885,8202,11342)
B<-c(7857,8034,11518)
C<-c(3147,3768,4487)
D<-c(3084,3669,4456)
df1<-data.frame(date,A,B,C,D)

#Table 1 / Table 2

date<-c("2015-08-07","2015-08-08","2015-08-09")
A<-c(0.8921115,0.7052290,1.4318554)
B<-c(0.9218072,1.3670397,1.1329704)
C<-c(1.1382491,0.4759820,1.2383374)
D<-c(1.1846077,0.6365059,0.4505162)
df2<-data.frame(date,A,B,C,D)

#Plot:

library(ggplot2)
library(grid)
library(gridExtra)
library(dplyr)
library(tidyr)

df$df = "Table 1"
df1$df = "Table 2"
df2$df = "Table1 / Table2"

bind_rows(df, df1, df2) %>%
  gather(variable, value, -c(date, df)) %>%
  ggplot(aes(x=as.Date(date), y=value, group=variable))  +
  geom_line(aes(colour = variable)) +
  facet_wrap(~df, ncol = 1) +
  scale_x_date() + xlab("")

enter image description here

可以看出Table1 / Table2之间的比例与上图相同。我希望在Table1 / Table2之间0 -2另外我无法区分颜色。有没有办法让它们变得大胆或增强其可感知性?

1 个答案:

答案 0 :(得分:1)

您可以在scales='free_y'函数中设置facet_wrap以分别缩放每个方面。

要着色,请查看color brewer website。在那里你可以找到一些可以在ggplot2中使用的配色方案。

我非常喜欢Set1Set3颜色。如何集成的一些示例是here

bind_rows(df, df1, df2) %>%
  gather(variable, value, -c(date, df)) %>%
  ggplot(aes(x=as.Date(date), y=value, group=variable))  +
  geom_line(aes(colour = variable)) +
  facet_wrap(~df, ncol = 1) +
  scale_x_date() + xlab("") +
  scale_color_brewer(palette='Set1')