【发布时间】:2021-08-27 04:08:28
【问题描述】:
我的数据框中有一个日期变量和另外两个变量。我希望创建一个带有两个变量的双 Y 轴图,一个带有条形图,一个带有线形图。我已经成功地做到了。 还有一些问题:
- 我没有得到每个条的月份和年份。我只得到一些月份的名称。我希望每个条形下方都有 11 月 20 日、12 月 20 日、1 月 21 日等。
- 轴标题不在轴的中间。
- 图例未显示。 对上述 3 个问题的任何帮助表示赞赏。 这是我的代码:
# Libraries
library(ggplot2)
library(dplyr)
library(hrbrthemes)
# Build dummy data
data <- data.frame(
day = as.Date(c("2020-11-01", "2020-12-01", "2021-01-01", "2021-02-01",
"2021-03-01", "2021-04-01", "2021-05-01")),
var1 = runif(7, 150, 200),
var2 = runif(7, 6, 20)
)
# Value used to transform the data
coeff <- max(data$var1)/max(data$var2)
# A few constants
var1Color <- "#69b3a2"
var2Color <- rgb(0.2, 0.6, 0.9, 1)
p <- ggplot(data, aes(x=day)) +
geom_bar( aes(y=var1), stat="identity", size=.1,
fill=var1Color, color="black", alpha=.4, width = 7) +
geom_line( aes(y=var2 * coeff), size=2, color = var2Color) +
scale_y_continuous(
# Features of the first axis
name = "Variable 1",
# Add a second axis and specify its features
sec.axis = sec_axis(~./coeff, name ="Variable 2")
) +
theme_ipsum() +
theme(
axis.title.y = element_text(color = var1Color, size=13),
axis.title.y.right = element_text(color = var2Color, size=13)
) +
xlab("Month")
p
这是我得到的情节。
【问题讨论】: