我正在用ggplot做散点图.我想有一个特定的 colored颜色 和填充点(在plotcolour="blue", fill="cyan4",为例),但我找不到如何.我要说的是:

ggplot(df, aes(own,method)) +
  panel.configuration +
  scale_shape_identity() +  #to use the 'plot' shape format.
  geom_point(aes(color = factor(label)), position = "jitter",size=3) +  

(在之前的geom_point年中,我try 添加shape=21,就像我在plot年所做的那样)

  scale_colour_manual(values=c("A"="chocolate3","B"="cyan4")) +
  scale_fill_manual(values=c("A"="green", "B"="red")) + #DOES NOTHING...
  xlim(7,47) + ylim(7,47)+ ... etc.

这就是我在没有"shape=21"的情况下得到的结果

在此处输入图像描述

这就是我加上"shape=21"后得到的结果.在这两种情况下,它都忽略了scale_fill

我还try 在geom_point中添加fill=c("blue","red"),但R抱怨:"错误:设置美学的长度不兼容:形状、大小、填充".

有什么建议吗?我的代码中的scale_fill有什么问题?

非常感谢你!

数据(df)看起来像:

21 15 A
24 16 A
24 17 A
28 14 A
24 15 A
22 15 A
20 18 A
24 18 A
34 9 B
38 12 B
41 19 B
42 13 B
36 12 B
40 17 B
41 14 B
37 12 B
40 13 B
37 15 B
35 15 B

推荐答案

你必须使用21 to 25的形状.这些是具有colourfill属性的:

ggplot(df, aes(own, method)) + 
     geom_point(colour="white", shape=21, size = 4, 
     aes(fill = factor(label))) + 
     scale_fill_manual(values=c("blue", "cyan4"))

如果你想要colour种不同的 colored颜色 ,那么:

ggplot(df, aes(own, method)) + 
      geom_point(aes(colour=factor(label), 
      fill = factor(label)), shape=21, size = 4) + 
      scale_fill_manual(values=c("blue", "cyan4")) + 
      scale_colour_manual(values=c("white", "black"))

R相关问答推荐

如何替换某个字符的所有出现,但如果该字符是字符串中的第一个,则不替换?

R图中的字体大小和字体样式(带有R底图)

基于2行删除重复项指定每列要执行的操作

如果行和列名以相同的开头,将矩阵值设置为0

R Lubridate:舍入/快照日期时间到一天中最近的任意时间?

MCMC和零事件二元逻辑回归

如何根据条件计算时差(天)

随机森林回归:下拉列重要性

如何在emmeans中计算连续变量的对比度

par函数中的缩写,比如mgp,mar,mai是如何被破译的?

为什么舍入POSIXct会更改能力以匹配等效的POSIXct?

使用较长的查询提取具有部分匹配的列表中的较短目标,

以更少间隔的较小表中的聚合离散频率表

R中的类别比较

在散点图中使用geom_point放置线图例

避免在图例中显示VLINS组

当由base::限定时,`[.factor`引发NextMethod错误

如何使用包metaviz更改标签的小数位数?

生存时间序列的逻辑检验

在GT()中的列之间添加空格