如何将列更改为连续数据以在 ggplot2 上绘制它?
how to change a column to continuous data to plot it on ggplot2?
您好,我无法绘制三种不同动物的代谢物随时间减少的图。
这是我用于情节的代码:
all_met %>%
pivot_longer(c(Inosine mp),names_to="Metabolites",values_to="concentration") %>%
group_by(Animal,Day, Metabolites) %>%
summarise(mean = mean(concentration), sd = sd(concentration)) %>%
ggplot(aes(x=factor(Day),y= mean, group = Animal, colour = Animal)) +
geom_point()+
geom_smooth(method=lm, se = FALSE, formula = y~x)+
stat_regline_equation()
这给了我:
你可以看到 x 轴是均匀分布的,但我不希望这样...从我用谷歌搜索的内容来看,假设我的数据是离散的,但我不能使用
scale_x_continuous
所以我想知道如何解决它。
我也想添加 R^2 值,但它与方程重叠,因此还有办法将方程移动到绘图的其他位置吗?
数据
structure(list(Animal = c("Beef", "Beef", "Beef", "Beef", "Beef",
"Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Beef",
"Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Beef",
"Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Beef",
"Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Lamb",
"Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb",
"Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb",
"Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb",
"Lamb", "Lamb", "Lamb", "Venison", "Venison", "Venison", "Venison",
"Venison", "Venison", "Venison", "Venison", "Venison", "Venison",
"Venison", "Venison", "Venison", "Venison", "Venison", "Venison",
"Venison", "Venison", "Venison", "Venison", "Venison", "Venison",
"Venison", "Venison", "Venison", "Venison", "Venison", "Venison",
"Venison", "Venison", "Venison", "Venison", "Venison", "Venison",
"Venison", "Venison"), Day = c(0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
1, 1, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 9,
9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
3, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0.25, 0.25,
0.25, 0.25, 0.25, 0.25, 0.79, 0.79, 0.79, 0.79, 0.79, 0.79, 0.125,
0.125, 0.125, 0.125, 0.125, 0.125, 1.75, 1.75, 1.75, 1.75, 1.75,
1.75, 2.25, 2.25, 2.25, 2.25, 2.25, 2.25)), row.names = c(NA,
-100L), class = c("tbl_df", "tbl", "data.frame"))
因为您将 x 声明为一个因子 (x=factor(Day)
),您的 x 轴是离散的而不是连续的(即数字)。去掉因子函数,你会得到一个连续的轴。
您好,我无法绘制三种不同动物的代谢物随时间减少的图。
这是我用于情节的代码:
all_met %>%
pivot_longer(c(Inosine mp),names_to="Metabolites",values_to="concentration") %>%
group_by(Animal,Day, Metabolites) %>%
summarise(mean = mean(concentration), sd = sd(concentration)) %>%
ggplot(aes(x=factor(Day),y= mean, group = Animal, colour = Animal)) +
geom_point()+
geom_smooth(method=lm, se = FALSE, formula = y~x)+
stat_regline_equation()
这给了我:
你可以看到 x 轴是均匀分布的,但我不希望这样...从我用谷歌搜索的内容来看,假设我的数据是离散的,但我不能使用
scale_x_continuous
所以我想知道如何解决它。
我也想添加 R^2 值,但它与方程重叠,因此还有办法将方程移动到绘图的其他位置吗?
数据
structure(list(Animal = c("Beef", "Beef", "Beef", "Beef", "Beef",
"Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Beef",
"Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Beef",
"Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Beef",
"Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Beef", "Lamb",
"Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb",
"Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb",
"Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb", "Lamb",
"Lamb", "Lamb", "Lamb", "Venison", "Venison", "Venison", "Venison",
"Venison", "Venison", "Venison", "Venison", "Venison", "Venison",
"Venison", "Venison", "Venison", "Venison", "Venison", "Venison",
"Venison", "Venison", "Venison", "Venison", "Venison", "Venison",
"Venison", "Venison", "Venison", "Venison", "Venison", "Venison",
"Venison", "Venison", "Venison", "Venison", "Venison", "Venison",
"Venison", "Venison"), Day = c(0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
1, 1, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 9,
9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
3, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0.25, 0.25,
0.25, 0.25, 0.25, 0.25, 0.79, 0.79, 0.79, 0.79, 0.79, 0.79, 0.125,
0.125, 0.125, 0.125, 0.125, 0.125, 1.75, 1.75, 1.75, 1.75, 1.75,
1.75, 2.25, 2.25, 2.25, 2.25, 2.25, 2.25)), row.names = c(NA,
-100L), class = c("tbl_df", "tbl", "data.frame"))
因为您将 x 声明为一个因子 (x=factor(Day)
),您的 x 轴是离散的而不是连续的(即数字)。去掉因子函数,你会得到一个连续的轴。