什么函数可以绘制R中折线图Y轴上的分布?
What function can plot the distribution on the Y axis of line chart in R?
请问R中有什么函数或者包可以把时间序列数据的Y轴分布绘制成折线图
比如下图
感谢您的帮助。
您可以使用 ggplot2
和 patchwork
来做到这一点。
首先加载库:
library(ggplot2)
library(patchwork)
现在让我们创建一些要使用的示例数据:
df <- airquality
df$Date <- seq(from = as.Date("1973-05-01"),
to = as.Date("1973-09-30"),
by = "1 day")
我们可以像这样制作密度图
p1 <- ggplot(df, aes(y = Temp)) +
geom_density(fill = "blue", alpha = 0.2, color = "blue") +
theme_classic() +
theme(axis.ticks.x = element_line(color = "white"),
axis.text.x = element_text(color = "white"),
axis.title.x = element_text(color = "white"),
axis.line.x = element_line(color = "white")
)
主要的时间序列图是这样的:
p2 <- ggplot(df, aes(Date, Temp)) +
geom_line(color = "blue") +
theme_classic() +
theme(panel.background = element_rect(fill = "#fef8d6"),
axis.ticks.length.y = unit(0, "pt"),
axis.text.y = element_blank(),
axis.title.y = element_blank())
要绘制它们,我们可以这样做:
p1 + p2 + plot_layout(widths = c(1, 8))
请问R中有什么函数或者包可以把时间序列数据的Y轴分布绘制成折线图
比如下图
感谢您的帮助。
您可以使用 ggplot2
和 patchwork
来做到这一点。
首先加载库:
library(ggplot2)
library(patchwork)
现在让我们创建一些要使用的示例数据:
df <- airquality
df$Date <- seq(from = as.Date("1973-05-01"),
to = as.Date("1973-09-30"),
by = "1 day")
我们可以像这样制作密度图
p1 <- ggplot(df, aes(y = Temp)) +
geom_density(fill = "blue", alpha = 0.2, color = "blue") +
theme_classic() +
theme(axis.ticks.x = element_line(color = "white"),
axis.text.x = element_text(color = "white"),
axis.title.x = element_text(color = "white"),
axis.line.x = element_line(color = "white")
)
主要的时间序列图是这样的:
p2 <- ggplot(df, aes(Date, Temp)) +
geom_line(color = "blue") +
theme_classic() +
theme(panel.background = element_rect(fill = "#fef8d6"),
axis.ticks.length.y = unit(0, "pt"),
axis.text.y = element_blank(),
axis.title.y = element_blank())
要绘制它们,我们可以这样做:
p1 + p2 + plot_layout(widths = c(1, 8))