Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中使用气泡图绘制比例数据_R_Ggplot2_Bubble Chart - Fatal编程技术网

如何在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.

我有两个不同年份的鱼类饮食比例数据。我正在努力研究如何使气泡大小反映出可能值的范围是0-1,但实际上没有值达到1。这是我在SigmaPlot中制作的一个情节,我想在R中重现。有12种不同的猎物物品类别

我已经设法在R中创建了一个绘图,但大小似乎被缩放到了最大比例。这里是代码和转载的情节

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那样完全复制该数字。根据您的说法,问题有哪些不同?