我试图想象贝叶斯网络,并且由于线条的密度,我决定使用光度梯度来显示边缘的方向(暗 - >光)。但是,因此,我必须在geom_path()
语句中手动定义颜色,并使用scale_fill_identity()
而不是我通常使用的scale_fill_gradient()
。我目前的图表如下所示:
我想要做的是添加一个从用户定义的值到蓝色到黄色的渐变比例,这样有人可以查看一个图例,并告诉所有链接的权重是什么(它们是' re所有无单位)。饱和度和亮度都与原始颜色不同,但色调相同。
编辑:以下是您可以使用的示例:
ggplot(data.frame(x=1),aes(x=x,y=1,color='red',fill='blue'))+
scale_color_identity()+scale_fill_identity()+geom_bar(stat='identity')
如何在此处插入任意颜色渐变比例?
编辑2:我通过手动插入其他图表中的图例找到了一种迂回的方法:Control over legends of multiple layer plot in ggplot2
有没有更少的黑客方法吗?
答案 0 :(得分:0)
要使用ggplot
轻松添加图例,您需要一个映射。对于您的样本
ggplot(data.frame(x=1),aes(x=x,y=1,color="boxcol",fill=1))+
scale_fill_gradient(name="Fill")+
scale_colour_manual(name="Color",values=c(boxcol="blue"))+
geom_bar(stat='identity')
会添加颜色和填充的图例。假设这个例子准确地表示了你实际在做什么,那么这应该有效。
geom_path中指定文字颜色值,而应对其进行编码。