如何在R中使用气泡图绘制比例数据
我有两个不同年份的鱼类饮食比例数据。我正在努力研究如何使气泡大小反映出可能值的范围是0-1,但实际上没有值达到1。这是我在SigmaPlot中制作的一个情节,我想在R中重现。有12种不同的猎物物品类别 我已经设法在R中创建了一个绘图,但大小似乎被缩放到了最大比例。这里是代码和转载的情节如何在R中使用气泡图绘制比例数据,r,ggplot2,bubble-chart,R,Ggplot2,Bubble Chart,我有两个不同年份的鱼类饮食比例数据。我正在努力研究如何使气泡大小反映出可能值的范围是0-1,但实际上没有值达到1。这是我在SigmaPlot中制作的一个情节,我想在R中重现。有12种不同的猎物物品类别 我已经设法在R中创建了一个绘图,但大小似乎被缩放到了最大比例。这里是代码和转载的情节 library(reshape) library(ggplot2) Species <- as.character(c(1:12)) yr2016 <- as.numeric(c(0.17, 0.
library(reshape)
library(ggplot2)
Species <- as.character(c(1:12))
yr2016 <- as.numeric(c(0.17, 0.011, 0.022, 0.003, 0.51, 0.1,
0.01, 0.03, 0.004, 0.06, 0.07, 0.01))
yr2017 <- as.numeric(c(0.197, 0.005, 0.027, 0.01, 0.337, 0.157,
0.008, 0.038, 0.017, 0.17, 0.032, 0.002))
data <- as.data.frame(cbind(Species, yr2016, yr2017))
data$yr2016 <- as.numeric(as.character(data$yr2016))
data$yr2017 <- as.numeric(as.character(data$yr2017))
data2 <- melt(data)
ggplot(data2,
aes(x = variable, y = factor(Species, levels = unique(Species))))+
geom_point(aes(size = value))+
labs(y = "Prey Items", x = "Year")+
theme_classic() +
scale_size_area()
库(重塑)
图书馆(GG2)
物种您可以使用参数limits=c(0,1)
在scale\u size\u区域内手动设置限制,并使用参数max\u size
手动设置最大区域的大小,即max\u size=20
希望这能帮你找到你想要的
library(reshape)
library(ggplot2)
library(data.table)
Species <- as.character(c(1:12))
yr2016 <-as.numeric(c(0.17,0.011,0.022,0.003,0.51,0.1,0.01,0.03,0.004,0.06,0.07,0.01))
yr2017 <-as.numeric(c(0.197,0.005,0.027,0.01,0.337,0.157,0.008,0.038,0.017,0.17,0.032,0.002))
data<-as.data.frame(cbind(Species,yr2016,yr2017))
data$yr2016 <- as.numeric(as.character(data$yr2016));
data$yr2017 <- as.numeric(as.character(data$yr2017))
data2<-melt(data)
p <- ggplot2::ggplot(data2,aes(x=variable, y=factor(Species, levels=unique(Species))))+
geom_point(aes(size=value))+
labs(y="Prey Items",x="Year")+
theme_classic() +
scale_size_area( limits = c(0,1),max_size = 20)
p
您可以使用参数limits=c(0,1)
在缩放大小区域内手动设置限制,并使用最大大小
参数手动设置最大区域的大小,即最大大小=20
希望这能帮你找到你想要的
library(reshape)
library(ggplot2)
library(data.table)
Species <- as.character(c(1:12))
yr2016 <-as.numeric(c(0.17,0.011,0.022,0.003,0.51,0.1,0.01,0.03,0.004,0.06,0.07,0.01))
yr2017 <-as.numeric(c(0.197,0.005,0.027,0.01,0.337,0.157,0.008,0.038,0.017,0.17,0.032,0.002))
data<-as.data.frame(cbind(Species,yr2016,yr2017))
data$yr2016 <- as.numeric(as.character(data$yr2016));
data$yr2017 <- as.numeric(as.character(data$yr2017))
data2<-melt(data)
p <- ggplot2::ggplot(data2,aes(x=variable, y=factor(Species, levels=unique(Species))))+
geom_point(aes(size=value))+
labs(y="Prey Items",x="Year")+
theme_classic() +
scale_size_area( limits = c(0,1),max_size = 20)
p
那么您的问题到底是什么?您想如何更改第二个绘图?您可以使用limits
参数来scale\u size\u area
,但是绘图可能更好,因为它是@MrFlick,有一点我忘了提到的是,每年的物种比例总和为1。我的问题是,在第一个图中,物种5的气泡尺寸要大得多,因为它的比例是0.51(51%),但在第二个图中,物种5的气泡尺寸要小得多,因为它的比例似乎不同。我想知道如何在R中处理这个问题。那么你的问题到底是什么?您想如何更改第二个绘图?您可以使用limits
参数来scale\u size\u area
,但是绘图可能更好,因为它是@MrFlick,有一点我忘了提到的是,每年的物种比例总和为1。我的问题是,在第一个图中,物种5的气泡尺寸要大得多,因为它的比例是0.51(51%),但在第二个图中,物种5的气泡尺寸要小得多,因为它的比例似乎不同。我想知道如何在R中处理这个问题。嗨,马克,这似乎确实突出了我的泡沫和帮助。非常感谢。这些数字仍然略有不同,但我有一种感觉,我无法像SigmaPlot那样完全复制数字。根据您的说法,问题有哪些不同?嗨,马克,这似乎突出了我的泡沫和帮助。非常感谢。这些数字仍然略有不同,但我有一种感觉,我将无法像SigmaPlot那样完全复制该数字。根据您的说法,问题有哪些不同?