Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何在ggplot';s渐变颜色比例条?_R_Ggplot2_Legend - Fatal编程技术网

R 如何在ggplot';s渐变颜色比例条?

R 如何在ggplot';s渐变颜色比例条?,r,ggplot2,legend,R,Ggplot2,Legend,我根据坐标绘制x和y,颜色是第三个连续变量,有6个小数 ggplot(data, aes(x=x, y=y, color=continuous_variable)) + geom_point() 目前,颜色正在创建基于3个小数点的渐变,但我希望它显示5 有没有办法增加ggplot用于创建渐变的小数位数?您可以传递一个函数,该函数可以从中断处创建标签。这里我使用sprintf创建具有所需小数位数(5)的字符串: library(ggplot2) ggplot(mtcars, aes(mpg

我根据坐标绘制x和y,颜色是第三个连续变量,有6个小数

ggplot(data, aes(x=x, y=y, color=continuous_variable)) +
  geom_point()
目前,颜色正在创建基于3个小数点的渐变,但我希望它显示5


有没有办法增加ggplot用于创建渐变的小数位数?

您可以传递一个函数,该函数可以从中断处创建标签。这里我使用
sprintf
创建具有所需小数位数(5)的字符串:

library(ggplot2)

ggplot(mtcars, aes(mpg, wt, colour = cyl)) + geom_point()+ 
  scale_color_gradient(labels = function(x) sprintf("%.5f", x))

欢迎来到这么好的第一个问题!只是为了澄清-仅仅因为它显示并不意味着ggplot使用这些数字来创建梯度。渐变将由传递到此函数(或自动)的“中断”创建。标签单独生成,然后映射到这些中断(罗兰的回答中提到了这一点)。在下面的回答中,如果你不明确地设置断点,基本的梯度计算将保持不变(并且可能包括甚至超过5个小数)。检查这个线程,这对所有使用数据和计算机的人来说都非常重要:谢谢,这给了我一些思考的机会!谢谢,成功了!