美文网首页
105. Graphics for communication(

105. Graphics for communication(

作者: 心惊梦醒 | 来源:发表于2022-04-08 23:40 被阅读0次

Scale

  scales控制数据值到你所能感知到的东西的映射,正常情况下,ggplot2为你自动加上scales,对于大部分的输入数据,默认的scales可以很好地工作,但不可避免地我们会遇到需要调整scales的情况。还有一些来自其他包的非默认scales。
scales调整相关函数的命名方式为scale_美学属性_scale的名字,美学属性包括xycolor等,默认scale的名字跟要对齐的变量类型有关,例如:continuousdiscretedatetimedate等。

坐标轴刻度和图例key

  两个主要的参数控制坐标轴上的刻度(ticks)和图例上的keys:breakslabels。前者控制坐标轴上刻度的位置(连续型变量)或者与keys相关的值(离散型变量)后者控制与ticks或keys相关的text labels。breaks和labels为相等长度的向量,设置labels=NULL可以不显示坐标轴上的刻度标签。
  axes和legends统称为guides。axes用于x和y美学属性,legends用于其他所有
我曾仔细阅读过scale_x/y_continuous的帮助文档,所以看这一章节的时候略显轻松,更甚有一种原来如此的感觉。

图例布局,legend layout

  首先是图例整体的位置,可以通过theme(legend.position=位置)来设置。
  其次是单个图例的展示,可以通过guides()设置。下面的例子实现的功能是图例在一行上:

ggplot(mpg, aes(displ, hwy)) +
  geom_point(aes(colour = class)) +
  geom_smooth(se = FALSE) +
  theme(legend.position = "bottom") +
  guides(colour = guide_legend(nrow = 1, override.aes = list(size = 4)))
#> `geom_smooth()` using method = 'loess' and formula 'y ~ x'

  guides()为每个scale设置guides,每个scale的guides可以通过设置scale函数的guide参数设置,也可以用guides()函数一起设置。guides()的参数是一个name-guide对的列表,其中的guide要么是一个字符串,也就是colorbar或legend;要么是一个guide函数(用来指定其他参数)的调用,也就是guide_colorbar()(连续型颜色条guide)或guide_legend()(图例guide)。guides()函数的返回值是scale和guide之间映射的列表。关于guide_colorbar/legend()函数,他们有很多与设置颜色条和图例相关的参数,现在是没时间看了,但以后有方向了。

替换scale

  最可能想替换的两类scales是continuous position scales and colour scales,其他美学属性原则相通,掌握这两个其他的便很容易上手。
  连续坐标尺度转换代表函数有scale_x/y_log10/reverse/sqrt,这些函数将替换数据值与guide之间的线性变换。
  颜色尺度变换的函数有:
  离散型变量:scale_color_brewer(),scale_color_manual()。default categorical scale选取color wheel周围间隔均匀的颜色,ColorBrewer scales更适合普通色盲人士。
  连续型变量:内置的scale_color_gradient()和scale_fill_gradient(),注意:所有的color scale都有两个变体:color和 fill !,适合diverging scale的scale_color_gradient2(),由viridis包提供的scale_color_viridis(),这是一个categorical ColorBrewer scales的连续模拟,优点是具有良好感知特性的连续型配色方案
  小注:diverging scale适合从负值经中间值到正值的连续型数据;gradient是梯度的意思。以上这些函数需要找时间看看它们的帮助文档并尝试去应用,这里只是指示当你需要时你可以努力的方向。

相关文章

  • 109. Graphics for communication练

    28.4.4练习题   105. Graphics for communication(2)[https://ww...

  • 105. Graphics for communication(

    Scale   scales控制数据值到你所能感知到的东西的映射,正常情况下,ggplot2为你自动加上scale...

  • 106. Graphics for communication(

    缩放,zooming   三种方法控制plot limits:1)调整绘图数据;2)设置每个scale的limit...

  • 104. Graphics for communication(

    Label   为图片添加:  标题,Title:标题的目的是总结主要的发现;  副标题,subtitle:在标题...

  • 107. Graphics for communication(

    图片保存   两种主要的方法将图片从R中导出:ggsave()和knitr。ggsave()将最近的图片保存到磁盘...

  • 108. Graphics for communication练

    28.2.1练习题 通过labs()函数可以一键设置标题、副标题、字幕(说明性文字)、轴标题和图例标题。我之前比较...

  • Communication

    Communication The Cardigans For twenty-seven years I've b...

  • Communication

    世界吻你以痛 世界爱你以悲 世界只是想让你知道更多 怕温柔过了头你忘记生存 情绪总是最难以捉摸的东西 有些时候它像...

  • Communication

    大雨无情的砸到莎乐美的身上,她血水浓重的全身伤痕累累,刀切开的伤口滚着红里泛白的肉,利落整齐的伤口大小不一的遍布...

  • communication

    Communication is very important in your life. It may make...

网友评论

      本文标题:105. Graphics for communication(

      本文链接:https://www.haomeiwen.com/subject/boejsrtx.html