【问题标题】:Mapping an aesthetic using ggplot2使用 ggplot2 绘制美学
【发布时间】:2016-08-24 02:09:23
【问题描述】:

所有, 我是 ggplot 的初学者,并为此苦苦挣扎。所以,我买了威克姆的书。我不明白这三个代码sn-ps的区别:

ggplot(mpg, aes(cty, hwy)) +
geom_point(aes(colour = "green"))

对比

ggplot(mpg, aes(cty, hwy)) +
geom_point(aes(colour = 1))

对比

ggplot(mpg, aes(cty, hwy)) +
geom_point(aes(colour = "1"))

当我看到输出时,图例在一种情况下显示“绿色”,在另一种情况下显示为 1,但如果我们真的将美学映射到变量,我们应该看到所有三种颜色的默认粉红色,但这第二项不会发生。为什么是这样?如有任何想法,我将不胜感激。

【问题讨论】:

  • 比较 colour = 1colour = factor(1)
  • 分类(离散)与连续色标。字符 == 分类/离散(它们被转换为因子)。数字是连续的(梯度)。

标签: r ggplot2


【解决方案1】:

第二个示例为“颜色”美学提供了一个 数字 值 1(顺便说一下,“颜色”也可以工作)。因为提供了一个数值,ggplot 假定应该使用一个数字色标。默认的数字色标是从亮蓝色到黑色的渐变。第一个和第三个示例触发的默认分类尺度是一个彩虹尺度,其色相间距等于提供的变量中的级别数。

【讨论】:

  • 感谢 Jdobres。这有帮助。但是,然后我在以下链接中查看了 ggplot 使用的比例:docs.ggplot2.org/0.9.3.1/scale_gradient.html。在上面的示例 #2 中,我为十六进制 132B43 选择了十进制 (1256259),即颜色 = 1256259。但是,这只是更改了标签。我如何看到渐变的变化?我的假设是,通过改变数字,梯度会改变,结果证明是错误的。所以,我肯定错过了一些重要的概念。非常感谢您的想法。
  • @watchtower 映射一个常数值color = CONSTANT 只会产生默认配色方案之一(没有其他修改)。 ggplot 本质上会将其解释为数据框中的“新常量列”,并将简单地使用适合数据类型的默认比例。
  • 如果要改变刻度中实际显示的颜色,需要scale的各种函数,如scale_color_gradient()aes() 中的美学声明只是告诉 ggplot 哪些数据列应该用于哪些属性。
  • 感谢 jdobres 和 joran 的出色回应。我希望我能给你5000分。我对此进行了一些研究,以了解如何知道docs.ggplot2.org/0.9.3.1/scale_gradient.html 的默认配色方案。渐变的默认调色板似乎是深蓝色。无论如何我可以找到这个 - 即..默认调色板是什么?我认为离散变量的默认调色板是stackoverflow.com/questions/10809166/… 非常感谢您的想法。
猜你喜欢
  • 1970-01-01
  • 2012-05-08
  • 1970-01-01
  • 2013-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-24
  • 2020-04-11
相关资源
最近更新 更多