R qplot错误消息:形状调色板最多可以处理6个离散值,因为很难区分6个以上离散值

问题描述 投票:0回答:2

我正在尝试做一个qplot做一个散点图矩阵。

qplot(X, Y, data=Customers, shape = Z,facets=ColA~ColB, size=I(3), xlab="X",ylab="Y")

其中Z是具有6个以上级别的分类变量。

我收到此错误消息:

“形状调色板最多可以处理6个离散值,因为很难区分6个以上的离散值。如果必须具有形状,请考虑手动指定形状”

我的问题是,如何手动指定形状?

r ggplot2 colors shapes scatter
2个回答
3
投票

您最好直接通过ggplot调用图并手动设置形状比例,而不要使用qplot:

ggplot(data=Customers, aes(x=X, y=Y, shape=Z)) + 
         geom_point(size=1) +
         labs(x="X",y="Y")+ 

         scale_shape_manual(values=c(4,29,30,53,23,53,64,53,23)) + 
         facet_grid(ColA~ColB)

此页面包含可在ggplot中绘制的所有可用形状的图例:https://www.datanovia.com/en/blog/ggplot-point-shapes-best-tips/

Qplot是一种用于绘制图的“快速而肮脏的”方法,通过ggplot调用plot命令可以使您更好地控制输出。


0
投票

我的第一个提示是避免使用qplot。简短的语法没有任何帮助。尝试

ggplot(Customers, aes(x = X, y = Y, shape = Z)) +
  theme_bw() +
  geom_point(size = 3) +
  xlab("X") + ylab("Y") +
  facet_grid(ColA ~ ColB)

,您现在可以轻松阅读并添加额外的图层,即手动颜色。有关如何以各种方式指定颜色的信息,请参见documentation

ggplot(Customers, aes(x = X, y = Y, shape = Z)) +
  theme_bw() +
  geom_point(size = 3) +
  xlab("X") + ylab("Y") +
  scale_colour_manual(values = c("red", "blue", "green", _more_colors_)) +
  facet_grid(ColA ~ ColB)

我的最爱是

scale_color_brewer(palette = "Set1")
© www.soinside.com 2019 - 2024. All rights reserved.