• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    同等学历教学

    同等学历教学

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      同等学历教学

      同等学历教学

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      R语言

      • 首页
      • 博客
      • R语言
      • 【DV】6个技巧,让你的可视化看起来更专业

      【DV】6个技巧,让你的可视化看起来更专业

      • 发布者 weinfoadmin
      • 分类 R语言
      • 日期 2018年12月14日
      测试开头

      【DV】6个技巧,让你的可视化看起来更专业


      笔者邀请您,先思考:

      1 如何做出专业的可视化?

      当我开始使用R时,像任何初学者一样,我想要一个真正能够工作的代码和一个最低限度可理解的图像,并且很长一段时间这是我的主要目标,但是一旦这一点完成后,我意识到我的可视化看起来很糟糕,特别是在比较和审查其他博客和网站之后,我开始搜索如何改进我的可视化。
      下面,创建一个简单且专业的图像的一些技巧,以吸引读者的注意力。

      1 创建可视化

      让我们开始一个简单的可视化,来自diamonds数据集的直方图。

      1library(ggplot2)
      2visualization <- ggplot(diamonds, aes(carat, fill = cut)) +
      3                    geom_histogram(bins = 30)
      4

      【DV】6个技巧,让你的可视化看起来更专业

      1.1 包括上下文信息:标题、副标题和脚注

      我们为什么要添加这些信息?因为这是一个快速和简单的方式来给图形上下文,并让读者理解我们在谈论什么。
      添加这些信息的第二个原因是对我们所看到的内容有一个共同的理解。所有的文本都允许我们与读者“交谈”,并说:

      • 你看到的图形显示的是“砖石数据集直方图”

      • 这张图“让我们看到”克拉的分布。

      • 该数据的来源是gglopt2包,该图形的作者是博客thinkingondata.com

      另一个需要考虑的问题是,如果您包含了源代码,那么您就为您的工作添加了一个可信度层,因为读者知道您的数据来自哪里。

      1visualization <- visualization +
      2labs(
      3title ="Histogram for Diamond dataset",
      4subtitle = "This is a general example in order to show the distribution of carats.",
      5caption = "source: gglopt2 packagenauthor: thinkingondata.com")
      【DV】6个技巧,让你的可视化看起来更专业

      1.2 包括一个专业的调色板的颜色

      我爱上了Viridis调色板,所以我把它包含在我的所有图形中,使用相同的调色板一直使得选择颜色的过程非常容易,同时,作为次要的好处统一了所有的可视化 我的工作。

      1visualization <- visualization +
      2scale_fill_viridis(discrete = TRUE)
      3

      【DV】6个技巧,让你的可视化看起来更专业

      1.3 包括主题

      包含主题允许我们为可视化提供预定义的格式,让我们将其视为Times New Roman中编写的文档或Helvetica中的同一文档之间的区别。

      我们可以在同一个演示文稿中的所有可视化中使用相同的主题,以创建一致感,例如在此博客中,所有可视化都使用相同的主题:theme_minimal。 有很多预定义的主题,如果你觉得你想要一些特别的东西,总有机会创建自己的主题。

      1visualization <- visualization +
      2theme_minimal()
      【DV】6个技巧,让你的可视化看起来更专业

      1.4 删除变量

      很多时候,太多的信息会影响读者的注意,从可视化中删除隐含信息是一个好主意,在这种情况下,我认为我们不需要在轴中包含变量的名称。

      尽管你可以删除x轴标签,但这并不总是一个好主意:取决于很多可视化的标题和表示格式。 在某些情况下,如果您在标题中包含相同的信息,删除标签可能是一个不错的选择。

      1visualization <- visualization +
      2theme(axis.title.x=element_blank(),
      3axis.title.y=element_blank())
      4

      【DV】6个技巧,让你的可视化看起来更专业

      2 统一感

      为什么我们要为我们的图像集创造一种统一感?因为如果一切都很和谐,就更容易阅读我们正在接收的信息:颜色,图像,风格,来源……我们可以考虑像流动一样的信息,在这种情况下我们想要一个柔和的流动,某些东西读者几乎察觉不到。

      在创建演示文稿时 – 将其命名为报表,项目,文章 – 可能我们正在使用一组可视化,并且在编辑结束之前重要的是创建类似的样式以便于吸引读者:使用相同类型的字母,保持标题和副标题的使用不变,引用源,使用相同的调色板,我们正在创建一种通用格式,一种通用语言。

      理解可视化是一种努力,一种注意力的努力。如果有人做了一次努力,我们不会每次为每个新图像重新创建相同的工作量。

      一些例子:

      • flowingdata.com,当所有可视化都保持相似的特征时,即使大多数时候每个帖子的主题都完全不同。

      • theeconomist.com,所有的可视化都有类似的风格,如果我们是常规读者,我们知道他们的可视化,标题,字幕和非常相似的颜色选择的相同位置,当我们检查新的可视化时,我们将重点放在消息是什么,而不是试图重新解释一切(再次!)。

      2.1 使用GRIDEXTRA库将多个图形混合在一起

      使用gridExtra库我们可以把多个可视化中创建一个可视化。 所有图像一起帮助我们更好地了解所选颜色以及它们如何相互作用。 这并不意味着我们必须在我们的演示中一起使用这些图像,这是为了方便决策者了解什么是最适合所有人的风格。

      让我们用两个可视化实现一个例子。

      1## Initial
      2vis_a <- ggplot(diamonds, aes(x = price, fill = cut)) + 
      3  geom_bar(stat = "bin")
      4vis_b <- ggplot(diamonds, aes(x=clarity,fill=clarity)) +  
      5  geom_bar()
      6grid.arrange(vis_a, vis_b)
      7

      【DV】6个技巧,让你的可视化看起来更专业

      包含的格式:

       1## Testing format
      2vis_a <- ggplot(diamonds, aes(x = price, fill = cut)) + 
      3  geom_bar(stat = "bin") +
      4  theme_minimal() +
      5  vis_text
      6
      7vis_b <- ggplot(diamonds) +
      8  geom_bar(mapping = aes(x = cut)) + 
      9  theme_minimal() +
      10  vis_text
      11

      【DV】6个技巧,让你的可视化看起来更专业

      我们已经有两种具有正确格式的可视化,指示它们来自哪里,但少了调色板是不好的。

      2.2 包括专业的PALETTE

      我选择了两种不同的方式来包含Viridis调色板中的颜色,以创造一种统一感。

       1## Final
      2vis_a <- ggplot(diamonds, aes(x = price, fill = cut)) + 
      3  geom_bar(stat = "bin") +
      4  theme_minimal() +
      5  scale_fill_viridis(discrete = TRUE) +
      6  vis_text
      7
      8## Picking manually 8 colors from Viridis Palette
      9
      10library(scales)
      11q_colors <-  8 
      12v_colors <-  viridis(q_colors, option = "D")
      13
      14vis_b <- ggplot(diamonds, aes(x=clarity,fill=clarity)) +  
      15  geom_bar()+
      16  scale_fill_manual(values=v_colors) +
      17  theme_minimal()+
      18  vis_text
      19
      20library(gridExtra)
      21grid.arrange(vis_a, vis_b)
      22

      【DV】6个技巧,让你的可视化看起来更专业

      2.3 从多个图形中创建独特的可视化

      有时,使用多个图表创建一个独特的可视化可能是一个好主意,在这种情况下,我们可以使用以下库之一:

      GRIDEXTRA库
      提供许多用户级函数来处理“网格”图形,特别是在页面上排列多个基于网格的图,并绘制表格。

      COWPLOT库
      这个软件包可以很容易地将多个’ggplot2’图组合成一个图并用字母标记它们,例如 A,B,C等,这是科学出版物经常需要的。

      PATCHWORK库
      PATCHWORK包使得在ggplot中创建具有多个面板的布局变得非常容易。 PATCHWORK的目标是使单独的ggplots组合到同一图形中变得简单。 因此,它尝试解决与gridExtra :: grid.arrange()和cowplot :: plot_grid相同的问题,但使用的是引发探索和迭代的API。

      最好的结果

      对于我们的示例,我们使用cowplot库或PATCHWORK库(最终结果几乎相同)获得了最好的结果,而不是gridExtra库,但是因为我们正在使用一组非常有限的示例(只有一个!),所以最好的结果 可能会根据您想要加入的图表类型而有所不同。

      两个图的代码

       1vis_text <- labs( title ="Exploring Diamond dataset", caption = "source: gglopt2 package")
      2q_colors <-  8 
      3v_colors <-  viridis(q_colors, option = "D")
      4avg.y <- mean(as.double(diamonds$clarity))*10
      5
      6vis_a <- ggplot(diamonds, aes(x = price, fill = cut)) + 
      7  geom_bar(stat = "bin") +
      8  theme_bw() +
      9  scale_fill_viridis(discrete = TRUE) +
      10  vis_text
      11
      12vis_b <- ggplot(diamonds, aes(x=clarity,fill=clarity)) +  
      13  geom_bar()+
      14  geom_segment(aes(x=0, xend=.01, y=avg.y, yend=avg.y)) +
      15  scale_x_discrete(breaks = 1:8)+
      16  scale_fill_manual(values=v_colors) +
      17  theme_bw()+
      18  vis_text
      19

      使用COWPLOT库

      1plot_grid(vis_a, vis_b, labels = c("A", "B"), nrow = 2, align = "v")
      【DV】6个技巧,让你的可视化看起来更专业

      使用PATCHWORK库

      1library(patchwork)
      2vis_a + vis_b + plot_layout(ncol = 1)  & theme_bw()
      【DV】6个技巧,让你的可视化看起来更专业

      使用GRIDEXTRA库

      结果非常相似,但是两个图的沿x轴的尺寸是不同的。

      1grid.arrange(vis_a, vis_b)
      【DV】6个技巧,让你的可视化看起来更专业

      结论

      本文的目的是描述如何改进我们的图像,以及如何用很少的努力帮助读者继续阅读并保持关注。
      我希望第一个和最后一个图像之间的差异足够大,能够形成动力并从变化开始。

      致谢和阅读

      ggplot2是一个用于编程语言R的数据可视化包。您可以通过官方文档了解更多信息,并通过使用ggplot2进行可视化。

      特别感谢Nathan Yu的书“Visualize this”,它在最初的章节中提出了关于专业可视化应该是什么样子。

      原文链接:
      http://www.thinkingondata.com/6-tips-to-make-your-visualizations-look-professional/

      内容推荐


      • 如何阅读论文?

      • 论文管理工具,我用Zotero

      • R机器学习介绍第一部分

      • R机器学习介绍第二部分

      • R中你应该学习的7种可视化

      • R中用线性回归进行预测建模

      • 使用RMarkdown沟通结果

      • 使用LIME探索模型

      公众号推荐:

      数据思践,数据的思考与践行。

      【DV】6个技巧,让你的可视化看起来更专业

      数据人网:数据人学习,交流和分享的平台,诚邀您创造和分享数据知识,共建和共享数据智库。


      测试结尾

      请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

      • 分享:
      作者头像
      weinfoadmin

      上一篇文章

      开始探索神奇的Github
      2018年12月14日

      下一篇文章

      来自小洁的《R数据科学》目录
      2018年12月14日

      你可能也喜欢

      3-1665801675
      R语言学习:重读《R数据科学(中文版)》书籍
      28 9月, 2022
      6-1652833487
      经典铁死亡,再出新思路
      16 5月, 2022
      1-1651501980
      R语言学习:阅读《R For Everyone 》(第二版)
      1 5月, 2022

      搜索

      分类

      • R语言
      • TCGA数据挖掘
      • 单细胞RNA-seq测序
      • 在线会议直播预告与回放
      • 数据分析那些事儿分类
      • 未分类
      • 生信星球
      • 老俊俊的生信笔记

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      301月2023
      如何快速批量修改 Git 提交记录中的用户信息
      261月2023
      logo-eduma-the-best-lms-wordpress-theme

      (00) 123 456 789

      weinfoadmin@weinformatics.cn

      恒诺新知

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      链接

      • 课程
      • 事件
      • 展示
      • 问答

      支持

      • 文档
      • 论坛
      • 语言包
      • 发行状态

      推荐

      • iHub汉语代码托管
      • iLAB耗材管理
      • WooCommerce
      • 丁香园论坛

      weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      要成为一名讲师吗?

      加入数以千计的演讲者获得100%课时费!

      现在开始

      用你的站点账户登录

      忘记密码?

      还不是会员? 现在注册

      注册新帐户

      已经拥有注册账户? 现在登录

      close
      会员购买 你还没有登录,请先登录
      • ¥99 VIP-1个月
      • ¥199 VIP-半年
      • ¥299 VIP-1年
      在线支付 激活码

      立即支付
      支付宝
      微信支付
      请使用 支付宝 或 微信 扫码支付
      登录
      注册|忘记密码?