gpt4 book ai didi

r - 如何强制 ggplot 在图例上显示更多级别?

转载 作者:行者123 更新时间:2023-12-04 19:29:02 25 4
gpt4 key购买 nike

我正在尝试创建一个复杂的 ggplot 图,但有些事情没有按预期工作。

我提取了有问题的部分,点的创建及其相关的图例。

library(data.table)
library(ggplot2)
lev <- c("A", "B", "C", "D") # define levels.
bb <- c(40, 30,20,10,5)/100 # define breaks.
ll <- c("40%","30%","20%","10%","5%") # labels.
# Create data
nodos <- data.table(event = c("A", "B", "D", "C", "D"), ord = c(1, 2, 3, 3, 4),
NP = c(0.375, 0.25, 0.125, 0.125, 0.125))


ggplot() + geom_point(data=nodos,aes(x=ord,
y=event, size=NP), color="black", shape=16) +
ylim(lev) + scale_size_continuous(name="Prop.",
breaks=bb, labels=ll, range=c(0,6))+
scale_x_continuous(limits=c(0.5, 4.5),
breaks=seq(1,4,1))

enter image description here

如您所见,无论我使用什么中断和标签,我都无法强制 ggplot 绘制包含 0% 或 10% 的图例。
scale_size_continuous 只创建两个元素。
并且较小的点的比例非常差。

我也尝试过 scale_scale_area,但它也不起作用。

我正在使用 R 3.4.2 和 ggplot2 2.2.1(也尝试了最新的 github 版本)。

我怎么才能得到它?

最佳答案

如果您设置了 limits包含 breaks您将能够更改图例。当前大部分breaks超出比例的默认限制。

ggplot() + 
geom_point(data = nodos,
aes(x = ord, y = event, size = NP), color="black", shape = 16) +
scale_size_continuous(name = "Prop.",
breaks = bb,
limits = c(.05, .4),
labels = ll,
range = c(0, 6) )

enter image description here

关于r - 如何强制 ggplot 在图例上显示更多级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47335132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com