我想用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'))
结果,我得到了空缺的圆形和正方形。我该如何解决它,以使正方形和圆形充满特定的颜色?
其他问题:我想在图表中添加geom_line,以连接每个组中的三个点。但是,我无法调整线型和宽度。它总是采用scale _ * _ manual的值,这非常不利,尤其是在大小的情况下。
感谢您的帮助!
答案 0 :(得分:1)
您需要更改指定的形状,如下所示:
scale_shape_manual(values = c(21,22,23)) +
对于您的其他问题,如果您在代码的第一部分(在aes(size=)
下设置ggplot(data=...
,然后在size=1
下手动指定geom_line
,则应该解决该问题作为+ geom_line(size = 1 ....`