我问了一个关于在 ggplot2 中制作气泡图的问题 here .
我的后续问题是:
1) 如何解释图例中的 scale_size?
2) 小点(标记为 10)是否表示数据可以是 5-10 之间的任何值?如果特定点的数据为 8,scale_area 函数是否会将数据点更改为 10,然后在图形上显示为大小为 10 的点。
3) 有没有办法在 ggplot 气泡图上绘制负数?有些软件可以把负数数据做成彩色气泡。
4) 我尝试合并 scale_area 和 scale_alpha,但图例显示了 2 个尺度。我只想要一个组合的。我该怎么做?
ggplot(dataset, aes(x = N, y = PctCens, size = BiasAM, alpha=BiasAM ,label = NULL)) +
geom_point(shape = 16) +
scale_area(to = 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,ncol=2) +
theme_bw()+
opts(
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),
axis.title.y=theme_text(face='bold',angle=90, vjust=0.2,size =12))
最佳答案
以下是我最终解决气泡图中负数问题的方法。
原始的 BiasAM(称为 OrgBiasAM)变量有负数,所以我取了它的绝对值并创建了一个名为 BiasAM 的新变量,我在上面的代码中使用了它。为了区分负数和正数,我使用 ifelse 语句创建了一个名为 BiasAMCat 的新分类变量
数据集$BiasAMCat <-ifelse(数据集$OrgBiasMA < 0, '负', '正')
现在修改后的代码是:
ggplot(dataset, aes(x = N, y = PctCens, size = BiasAM, colour=factor(BiasAMCat) ,label = NULL)) +
geom_point(shape = 16) +
scale_area(to = c(1, 10), breaks = c(0, 10, 30, 50, 70, 100)) +
scale_colour_manual(name=NULL, values=c('grey','black')) + # for bw printing
scale_x_continuous("Sample size", limits = c(0, 100)) +
scale_y_continuous("Percent censored", limits = c(0, 100)) +
facet_wrap(~Method,ncol=2) +
theme_bw()+
opts(
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),
axis.title.y=theme_text(face='bold',angle=90, vjust=0.2,size =12))
注意:如果您喜欢渐变色,可以按照 Andy W 的建议使用 color_gradient 而不是 scale_colour_manual。
关于r - 如何解释气泡图比例并使用 scale_area 绘制负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11604562/