无法让 R 在年份之间划一条线
Can't get R to do a line between years
我创建了一个数据集,但在绘制它时遇到了一些问题。我认为这是因为数据集非常小,所以 R 无法将我的 X 轴识别为年,而是连续数据。因此,我的图表有 2020.5。所以,我必须使用 as.factor(AshQuads$Year)
转换年份列,但它拒绝将年份与 geom_line
连接。
这是我一直在使用的代码
ggplot(Ash_Quads, aes(x=Year, y=Quadrats, colour=factor(Ash)))+
geom_point()+
theme_bw()
这是我的数据框:
我想知道是否有人可以提供帮助?
一个选项是将 Year
设置为因子(如您所述),然后将组添加到 aes
(即 group = Ash
)。您还需要添加 geom_line
,您的代码中没有。
library(tidyverse)
ggplot(Ash_Quads, aes(x = factor(Year), y = Quadrats, colour = factor(Ash), group = Ash)) +
geom_point() +
geom_line() +
theme_bw()
或者您可以使用 scale_x_continuous
设置 x-axis(因此保留为连续数据,不要将 Year
转换为因子):
ggplot(Ash_Quads, aes(x = Year, y = Quadrats, colour = factor(Ash))) +
geom_point() +
geom_line() +
scale_x_continuous(breaks = 2020:2022) +
theme_bw()
数据
Ash_Quads <- structure(list(Year = c(2020, 2021, 2022, 2020, 2021, 2022),
Quadrats = c(37, 31, 13, 54, 56, 38), Ash = c("No Ash", "No Ash",
"No Ash", "Ash", "Ash", "Ash")), class = "data.frame", row.names = c(NA,
-6L))
我建议只让 x-axis 保持连续,而不是将其转换为一个因子。只需为 x-axis 提供您想要的实际休息时间,在本例中为 2020:2022
年
ggplot(df, aes(Year,Quadrats,color=Ash)) +
geom_point() + geom_line() +
scale_x_continuous(breaks=2020:2022)
theme_bw()
我创建了一个数据集,但在绘制它时遇到了一些问题。我认为这是因为数据集非常小,所以 R 无法将我的 X 轴识别为年,而是连续数据。因此,我的图表有 2020.5。所以,我必须使用 as.factor(AshQuads$Year)
转换年份列,但它拒绝将年份与 geom_line
连接。
这是我一直在使用的代码
ggplot(Ash_Quads, aes(x=Year, y=Quadrats, colour=factor(Ash)))+
geom_point()+
theme_bw()
这是我的数据框:
我想知道是否有人可以提供帮助?
一个选项是将 Year
设置为因子(如您所述),然后将组添加到 aes
(即 group = Ash
)。您还需要添加 geom_line
,您的代码中没有。
library(tidyverse)
ggplot(Ash_Quads, aes(x = factor(Year), y = Quadrats, colour = factor(Ash), group = Ash)) +
geom_point() +
geom_line() +
theme_bw()
或者您可以使用 scale_x_continuous
设置 x-axis(因此保留为连续数据,不要将 Year
转换为因子):
ggplot(Ash_Quads, aes(x = Year, y = Quadrats, colour = factor(Ash))) +
geom_point() +
geom_line() +
scale_x_continuous(breaks = 2020:2022) +
theme_bw()
数据
Ash_Quads <- structure(list(Year = c(2020, 2021, 2022, 2020, 2021, 2022),
Quadrats = c(37, 31, 13, 54, 56, 38), Ash = c("No Ash", "No Ash",
"No Ash", "Ash", "Ash", "Ash")), class = "data.frame", row.names = c(NA,
-6L))
我建议只让 x-axis 保持连续,而不是将其转换为一个因子。只需为 x-axis 提供您想要的实际休息时间,在本例中为 2020:2022
ggplot(df, aes(Year,Quadrats,color=Ash)) +
geom_point() + geom_line() +
scale_x_continuous(breaks=2020:2022)
theme_bw()