ggplot 双y轴 柱状图
时间: 2023-08-21 10:00:25 浏览: 152
ggplot是一个用于绘制统计图形的R语言包,其提供了丰富的功能和灵活的设置选项。在ggplot中绘制双y轴的柱状图可以通过以下步骤完成:
首先,我们需要加载ggplot包和所需的数据集。使用以下代码可以加载ggplot包:
```
library(ggplot2)
```
接下来,我们需要准备包含需要绘制的数据的数据框。假设我们有两个变量x和y1,它们分别代表柱状图的x轴和左边y轴的数据;还有一个变量y2,代表右边y轴的数据。我们可以使用data.frame函数创建一个包含这些数据的数据框。
```
data <- data.frame(x = c("A", "B", "C", "D"),
y1 = c(10, 20, 15, 25),
y2 = c(0.5, 0.8, 0.6, 0.9))
```
然后,我们可以使用ggplot函数创建一个基础图形对象,并使用geom_col函数添加柱状图的图层。设置参数position="dodge"可以使得两个变量的柱状图并列显示。使用aes函数来设置x、y和fill等参数的映射关系。
```
plot <- ggplot(data, aes(x = x)) +
geom_col(aes(y = y1, fill = "Variable 1"), position = "dodge") +
geom_col(aes(y = y2, fill = "Variable 2"), position = "dodge") +
scale_fill_manual(values = c("Variable 1" = "blue", "Variable 2" = "red"))
```
最后,我们可以使用scale_y_continuous函数来调整左边和右边y轴的标签和范围。其中,设置sec.axis参数为dup_axis函数可以使得右边y轴与左边y轴的标签对齐,设置name参数可以为右边y轴设置一个标题。
```
plot <- plot + scale_y_continuous(sec.axis = dup_axis(name = "Variable 2"))
```
以上就是使用ggplot绘制双y轴柱状图的基本步骤。最后,我们可以使用print函数打印并显示这个图形对象。
```
print(plot)
```
通过这些代码,我们可以使用ggplot绘制出双y轴的柱状图,并能够直观地比较两个变量的值。
阅读全文