Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.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 更改ggplot2中用于缩放_shape()的形状_R_Ggplot2 - Fatal编程技术网

R 更改ggplot2中用于缩放_shape()的形状

R 更改ggplot2中用于缩放_shape()的形状,r,ggplot2,R,Ggplot2,假设我有以下几点 y <- rnorm(10) b <- as.factor(sample(1:4,10,replace=T)) qplot(1:10, y, shape=b) y>y b qplot(1:10,y,形状=b) >qplot(1:10,y,pch=字母[1:10],cex=6) 这就是你的意思吗?我想你可以用R的任何一个绘图角色 虽然这可能不是一种非常“ggplot”的方式,但手册页上确实写着“您可以像使用“plot”功能一样使用它。”:-) ggplot的方法是

假设我有以下几点

y <- rnorm(10)
b <- as.factor(sample(1:4,10,replace=T))
qplot(1:10, y, shape=b)
y
>y b qplot(1:10,y,形状=b)
>qplot(1:10,y,pch=字母[1:10],cex=6)
这就是你的意思吗?我想你可以用R的任何一个绘图角色

虽然这可能不是一种非常“ggplot”的方式,但手册页上确实写着“您可以像使用“plot”功能一样使用它。”:-)


ggplot的方法是使用
缩放形状\u手册
并在
参数中提供所需的形状:

qplot(1:10, y, shape=b) + scale_shape_manual(values = c(0, 5, 6, 15))


形状与通常的0-25索引相同:

为了补充Harlan的答案,这里是可用形状的参考-从左下角的0开始,然后向右读取(10y+x):


df这是一种更好的方法,因为它保留了图例并使用ggplot,而不是基本图形。我每天都在这里学习更多关于ggplot的知识,谢谢!您好,当您使用scale_shape_manual()时,如何更改符号的大小?我尝试使用geom_point(大小=4),但输出是双符号(两个大小)。如果您正在使用qplot,则
size=4
需要进入
qplot
呼叫,而不是单独进入。如果您添加一个额外的
geom_点
,则实际上是在创建第二层。(顺便说一句,这就是为什么你不应该使用
qplot
——这很让人困惑)不要忘记,如果你想在一些形状中使用颜色(我认为值19-25左右),你需要设置填充美学,因为在这些情况下,颜色美学只对应于边框颜色。您始终可以同时设置这两个参数,例如,
ggplot(mydata,aes(color=MyVar1,fill=MyVar1))+geom\u point()。有关可能的替代方案,请参阅?缩放手册
qplot(1:10, y, shape=b) + scale_shape_manual(values = c(0, 5, 6, 15))
df <- data.frame(x=c(0:129))
ggplot(df, aes(x=x%%10, y=floor(x/10), shape=factor(x), colour=x, size=10)) +
  geom_point() +
  scale_shape_manual(values=df$x) + theme(legend.position='none') +
  scale_x_continuous(breaks=0:10) + scale_y_continuous(breaks=0:12) +
  scale_colour_hue() + scale_colour_gradientn(colours=rainbow(3))