假设使用 ggplot2 创建的小提琴图只有一个因素(在水平轴上)。该图显示无色小提琴,因为 x 轴使用单因素。
例如,这个快速 MWE:
oneplot <- ggplot(ToothGrowth, aes(x=dose, y=len)) +
geom_violin()
oneplot
Run Code Online (Sandbox Code Playgroud)
之后可以设置填充颜色吗?在我的实际设置中,情节是通过负责多种事物的大型程序生成的,并且它不分配“填充”美学;它只是提供了一个可以在事后使用附加图形指令(例如scale_fill_manual.
我希望我可以添加一些指令,例如,
oneplot + scale_fill_manual(breaks = c(0.5,1,2), values = c("orange", "purple","blue"))
Run Code Online (Sandbox Code Playgroud)
但目前,馅料完全无色!
不太为人所知,但您aes也可以用作附加绘图组件。
所以:
oneplot <- ggplot(ToothGrowth, aes(x=factor(dose), y=len)) +
geom_violin()
oneplot
Run Code Online (Sandbox Code Playgroud)
oneplot + aes(fill = supp)
Run Code Online (Sandbox Code Playgroud)
这确实假设您的填充变量存在于数据中,因此supp必须存在于ToothGrowth. 但是,我们也可以使用特殊运算符更新数据组件%+%:
oneplot %+% filter(ToothGrowth, dose < 2) + aes(fill = supp)
Run Code Online (Sandbox Code Playgroud)
当对同一图进行细微变化时,这些技术非常有用。定义一次大型结构,然后更新每个图的数据或美观。
| 归档时间: |
|
| 查看次数: |
352 次 |
| 最近记录: |