【发布时间】:2015-02-11 19:01:45
【问题描述】:
我有一个如下的数据框:
Name,Tutor,Test,Score,Percent,school.year
Mark,Eric,Maths,100,100,2
Mark,Eric,English,91,91,2
Sue,Richard,Maths,88,100,5
Sue,Richard,English,71,80.7,5
我想在 y 轴上绘制百分比,在 x 轴上绘制每个测试的条形图。我的代码按我想要的方式绘制,但 x 轴标签只是名称。我想在 x 轴中添加其他变量(仅添加到标签中)。因此,例如标记有 2 条; 1 代表数学,1 代表英语,他的 xaxis 标签还带有“mark”“\n”“Eric”,这样我们就可以看到谁辅导了他。如果可能的话,我想添加几个额外的标签,比如学年。到目前为止,我的代码如下;
results <- read.csv('results.csv')
p <- ggplot(results, aes(y=Percent, x=Name, colour=Test, fill=Test)) +
geom_bar(stat='identity', position='dodge') +
ggtitle('Test Results') +
ylab('Percent')
我可以将单个变量绘制为 x 轴标签,例如:
+scale_x_discrete(labels = results$Score)
或者手动更改(虽然顺序有问题);
scale_x_discrete(labels = c('Mark \n Eric','Sue \n Richard', etc))
有没有办法将其他变量添加到 x-labels,最好是换行符?非常感谢
【问题讨论】:
标签: r ggplot2 axis-labels