geom_point不受scale_fill_manual的填充影响。

3
我想使用ggplot来绘制几个模型的准确度图表。绘制结果的详细信息并不重要,但是我在填充geom_point对象方面遇到了问题。
可以在此处找到示例文件:https://ufile.io/z1z4c 我的代码如下:
library(ggplot2)
library(ggthemes)

Palette <- c('#A81D35', '#085575', '#1DA837')

results <- read.csv('test.csv', colClasses=c('factor', 'factor', 'factor', 'numeric'))
results$dates <- factor(results$dates, levels = c('01', '15', '27'))
results$pocd <- factor(results$pocd, levels = c('without POCD', 'with POCD', 'null accuracy'))
results$model <- factor(results$model, levels = c('SVM', 'DT', 'RF', 'Ada', 'NN'))

ggplot(data = results, group = pocd) + 
  geom_point(aes(x = dates, y = acc,
                 shape = pocd,
                 color = pocd,
                 fill = pocd,
                 size = pocd)) +
  scale_shape_manual(values = c(0, 1, 3)) +
  scale_color_manual(values = c(Palette[1], Palette[2], Palette[3])) +
  scale_fill_manual(values = c(Palette[1], Palette[2], Palette[3])) +
  scale_size_manual(values = c(2, 2, 1)) +
  facet_grid(. ~ model) +
  xlab('Date of knowledge') +
  ylab('Accuracy') +
  theme(legend.position = 'right',
        legend.title = element_blank(),
        axis.line = element_line(color = '#DDDDDD'))

作为结果,我得到了未填充的圆形和正方形。我该如何修复它,以便正方形和圆形填充具有特定的颜色?

enter image description here

附加问题:我想在图形中添加geom_line,连接每个组中的三个点。但是,我无法调整线型和宽度。它总是采用scale_*_manual的值,这在大小方面尤其不利。

谢谢您的帮助!


2
我认为只有形状21到25是“可填充的”。 - Stéphane Laurent
是的,现在我明白了。 - Inco83
1个回答

4

您需要更改指定的形状,就像这样:

  scale_shape_manual(values = c(21,22,23)) +

针对您的附加问题,如果在代码的第一部分(在ggplot(data=...下)设置aes(size=),然后在geom_line下手动指定size=1,应该就可以解决这个问题了。...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接