我问了一个关于在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))
答案 0 :(得分:2)
以下是我最终用气泡图中的负数解决问题的方法。
原始的BiasAM(称为OrgBiasAM)变量具有负数,因此我获取了它的绝对值并创建了一个名为BiasAM的新变量,我在上面的代码中使用了该变量。为了区分负数和正数,我使用ifelse语句创建了一个名为BiasAMCat的新分类变量
数据集$ BiasAMCat< -ifelse(dataset $ OrgBiasMA< 0,'Negative','Positive')
现在修改后的代码:
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。