6

我制作了 2 个气泡图,分别称为 beta 和 km。我想并排比较这些图,但 scale_area 似乎不同,这使得很难根据气泡的大小直观地比较 2 个图。

如果您注意到下图中的图例,则比例不同。我认为这是因为 betaGSD5 数据集上的最高 BiasAM 值 ~ 64 和 kmGSD5 数据 = 100。

如何手动更改 scale_area 以使 betaPlot 比例与 kmPlot 比例匹配?

也可以手动设置图例中断吗?而不是自动生成,可以指定我想要的图例吗?0-10、10-30、30-50、50-70、70-100、

100

betaGSD5 数据:https ://dl.dropbox.com/u/63947093/betaGSD5.csv

kmGSD5 数据: https ://dl.dropbox.com/u/63947093/kmGSD5.csv

这是测试版情节代码

betaPlot <- ggplot(betaGSD5, aes(N,PctCens,size=BiasAM,label=NULL)) +
  geom_point(colour="red", shape=16) +scale_area(to=c(1,10)) +
  xlab("Sample size") + ylab("Percent censored") +
  xlim(0,100)+ ylim(0,100) +
  theme_bw()+
  opts(
 #legend.position='none',
  panel.grid.minor = theme_blank(),
  panel.background = theme_blank(),
  axis.ticks = theme_blank(),
  axis.title.x=theme_text(face='bold',vjust=0.2, size =12), #size=15 #hjust:move     horizonal, vjust-move verticall
  axis.title.y=theme_text(face='bold',angle=90, vjust=0.2,size =12))
print(betaPlot)

在此处输入图像描述

公里图

kmPlot <- ggplot(kmGSD5, aes(N,PctCens,size=NewBiasAMpct,label=NULL)) +
    geom_point(colour="red", shape=16) +scale_area(to=c(1,10)) +
    xlab("Sample size") + ylab("Percent censored") +
    xlim(0,100)+ ylim(0,100) +
    theme_bw()+
    opts(
      #legend.position='none',
     panel.grid.minor = theme_blank(),
     panel.background = theme_blank(),
     axis.ticks = theme_blank(),
     axis.title.x=theme_text(face='bold',vjust=0.2, size =12), #size=15 #hjust:move       horizonal, vjust-move verticall
     axis.title.y=theme_text(face='bold',angle=90, vjust=0.2,size =12))

 print(kmPlot)

在此处输入图像描述

4

1 回答 1

10

如果您希望它们并排,那么这很容易。只需结合数据集并使用 facet_wrap()

ggplot(dataset, aes(x = N, y = PctCens, size = BiasAM, label = NULL)) +
  geom_point(colour="red", shape = 16) + 
  scale_size_area(limits = c(1, 10), breaks = c(0, 10, 30, 50, 70, 100)) +
  scale_x_continuous("Sample size", limits = c(0, 100)) + 
  scale_y_continuous("Percent censored", limits = c(0, 100)) +
  facet_wrap(~ Method) + 
  theme_bw() +
  theme(
    panel.grid.minor = element_blank(),
    panel.background = element_blank(),
    axis.ticks = element_blank(),
    axis.title.x = element_text(face = 'bold', vjust = 0.2, size = 12),
    axis.title.y = element_text(face = 'bold', angle = 90, vjust = 0.2, size = 12)
  )

在此处输入图像描述

于 2012-07-17T08:23:25.950 回答