首页 文章

geom_point未由scale_fill_manual填充

提问于
浏览
0

我想用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

Additional question: 我想在图表中添加一个geom_line,连接每个组中的三个点 . 但是,我无法调整线型和宽度 . 它始终采用scale _ * _ manual的值,这在尺寸的情况下尤其不利 .

谢谢你的帮助!

1 回答

  • 1

    您需要更改指定的形状,如下所示:

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

    对于您的其他问题,如果您在代码的第一部分(在 ggplot(data=... 下)设置 aes(size=) ,然后在 geom_line 下手动指定 size=1 作为geom_line(size = 1 ....

相关问题