R 如何在ggplot中基于Y轴指定色标

R 如何在ggplot中基于Y轴指定色标,r,ggplot2,R,Ggplot2,我试图根据收入的y轴值为一些小提琴图指定颜色比例/渐变。然而,我只得到一个白色的小提琴情节。我可以根据州、地区而不是收入来改变颜色 数据 USA.states可以从线段创建伪填充,也可以直接从基础数据(在ggplot_构建对象中)创建伪填充 如果需要额外的多边形轮廓,仍然需要使用为线段计算的x和y坐标手动创建多边形。(当然有一种比下面更聪明的方法将其放入数据框中,所以不要将其视为福音) 另一个值得注意的是,原始情节中的小提琴似乎是按比例缩放的,但我并不完全理解如何缩放,所以我只是用一个常数来缩放

我试图根据收入的y轴值为一些小提琴图指定颜色比例/渐变。然而,我只得到一个白色的小提琴情节。我可以根据州、地区而不是收入来改变颜色

数据


USA.states可以从线段创建伪填充,也可以直接从基础数据(在ggplot_构建对象中)创建伪填充

如果需要额外的多边形轮廓,仍然需要使用为线段计算的x和y坐标手动创建多边形。(当然有一种比下面更聪明的方法将其放入数据框中,所以不要将其视为福音)

另一个值得注意的是,原始情节中的小提琴似乎是按比例缩放的,但我并不完全理解如何缩放,所以我只是用一个常数来缩放它,我通过一些尝试和错误发现了这个常数

库(tidyverse)
美国,美国%
拆分(,.$oldx)%>%
映射(,函数(x){
如果(全部(x$oldx==“xnew”))x%
绑定_行()
ggplot()+
几何多边形(数据=vl_多边形,aes(x,y,组=组),
颜色=“黑色”,尺寸=1,填充=NA)+
geom_段(数据=vl_填充,aes(x=xnew,xend=xend,y=y,yend=y,
颜色=y)


据我所知,由(v1.0.0)于2021年4月14日创建的这是不可能的。请看这里,或者您可以重新思考您的情节,并使用类似于
ggforce::geom_sina
(或
ggbeeswarm::geom_quasirandom
),它可以让你在一种渐变中给点上色,这可能会很有帮助,这是一个很棒的解决方案tjebo。我有一个建议:只需添加
scale\u color\u gradientn(colors=rainbow(5))
在代码末尾。我认为这看起来更吸引人。@TarJae谢谢。关于彩虹检查克劳斯·威尔克:特别是彩虹部分,以及为什么这个调色板通常不是一个好主意(这是一个非常深思熟虑的决定,不改变这里的色阶,-我把它留给任何人使用自己的调色板/色阶)我明白了。非常感谢你的链接和洞察信息!