我试图根据收入的y轴值为一些小提琴图分配一个色阶/渐变。但是,我只得到了一个白色的小提琴图。我可以根据州、地区而不是收入来更改颜色。
- 数据**
USA.states <- data.frame(state.region,state.x77)
- 代码**
p <- ggplot(USA.states,aes(x=state.region,y=Income,fill=Income))+
geom_violin(trim = F,)+
ggtitle("Violin plot of income and Population")
p + scale_fill_gradient(low="red",high="blue")
我将fill
赋值给Income
,但它最终填充的是白色。
1条答案
按热度按时间kgsdhlau1#
您可以从线段创建伪填充,也可以直接从底层数据(在ggplot_built对象中)创建伪填充。
如果你想要一个额外的多边形轮廓,你仍然需要手动创建多边形,使用为线段计算的x和y坐标。(当然有一个比下面更聪明的方法将其放入数据框中,所以不要把它当作福音)。
另一个值得注意的是,原始情节中的小提琴似乎是按比例缩放的,但我不知 prop 体是如何缩放的,所以我只是用一个常数来缩放它,这个常数是我经过反复试验发现的。
由reprex package(v1.0.0)于2021年4月14日创建