如果你也想做统计分析,请关注我一起进步!

一、简介

ggplot2是R中最重要的作图包,没有之一!ggplot2是基于图形语法开发而成的,它以声明的方式创建图形。用户只需要提供数据、指明如何投影变量、设定图形名称即可,具体细节有ggplot2来优化完善。


二、示例

library(ggplot2)ggplot(mpg, aes(displ, hwy, colour = class)) + geom_point()

通过非常简单的命令就可以创建优美的图形。


三、 图例(legend)相关的问题

1. 改变图例中的文字

ggplot(mpg, aes(displ, hwy, colour = drv)) + geom_point()

若要改变图例中文字,可以使用scale_color_discrete。如下,

ggplot(mpg, aes(displ, hwy, colour = drv)) + geom_point()+ scale_color_discrete(name="drive",labels=c("four","forward","reverse"))

scale_color_discrete中name参数改变图例的名称,labels修改每个图例的名称。


2. 合并多个图例为一个图例

上图中的legend其实是有colour aes生成的。如果在作图时有多于一个aes用于生成legend,那么在最终的图形中会有多个图例。例如,

ggplot(mpg, aes(displ, hwy, colour = class, shape=drv)) + geom_point()

图中的colour 由 class决定, shape由drv决定。由于两个属性由两个不同的变量决定,所以会产生两个图例。这两个图例分别体现了图中的一部分信息。还有一个例子,

g<- ggplot(economics_long, aes(date, value01, colour = variable)) + geom_line(aes(linetype=variable))+ geom_point(size=0.5)g + scale_color_discrete(name = "Var.name")

如果我们不修改图例的名称,那么图形只会有一个图例。因为图形的属性都由同一个变量vairable决定。由于修改图例的名称,导致有两个图例产生。若果需要将两个图例合并,则需要guides()函数。

g0.5)glist(shape = c(g FALSE)g FALSE) g + scale_color_discrete(name = "Var.name")

其中,第2行是将shape和linetype与colour合并,第3和4行是为了将shape和linetype的图例抹去。因此,我们可以获得如下图形。

此时只有一个图例。

如果要改变图例放置的位置可以使用theme(legend.position=...)函数实现。

ggplot2是R作图工具的集大成者,后续有很多包都是基于ggplot2开发的。相信ggplot2的应用会越来越广泛。

legend函数_ggplot的图例(legend)管理相关推荐

  1. Py之matplotlib:在matplotlib库中利用legend函数创建自定义图例(代码实现)

    Py之matplotlib:在matplotlib库中利用legend函数创建自定义图例(代码实现) 目录 matplotlib库中利用legend函数创建自定义图例 原始图像 在原始图像上创建自定义 ...

  2. html中legend样式,echarts自定义图例legend文字和样式

    话不多说,先上效果图. 要完成这个图并不难,主要是下面那个图例比较难,需要定制. 让我们从官方文档找找思路,官方文档关于legend.formatter是这样的:链接在这 难点在于: 1.这里的图例文 ...

  3. matlab怎么增加图例,matlab中legend函数在添加图例时的使用方法 - matlab资源网

    功能 在图形上添加图例.该命令对有多种图形对象类型(线条图,条形图,饼形图等)的窗口中显示一个图例.对于每一线条,图例会在用户给定的文字标签旁显示线条的线型,标记符号和颜色等.当所画的是区域(patc ...

  4. Matlab中legend函数详解及legend边框去掉的方法

  5. Matlab中legend()函数:标注的显示及隐藏用法

    h1=plot(x1,y1); h2=plot(x2,y2); h3=plot(x3,y3); h4=plot(x4,y4); legend([h1 h3],'x1-y1','x3-y3'); 四线, ...

  6. matlab legend函数 用法

    用Matlab画图时,有时候需要对各种图标进行标注,例如,用"+"代表A的运动情况,"*"代表B的运动情况. legend函数的基本用法 legend(stri ...

  7. Matlab中legend()函数的用法:实现标注的显示及隐藏

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.legend()函数用法 二.使用步骤 1.简单代码 2.运行结果 总结 一.legend()函数用法 Matlab中l ...

  8. R语言可视化密度图并在密度图中嵌入图例信息、使用geomtextpath包的geom_textdensity函数,将图例(legend)信息嵌入到密度图中

    R语言可视化密度图并在密度图中嵌入图例信息.使用geomtextpath包的geom_textdensity函数,将图例(legend)信息嵌入到密度图中(Density plot with dire ...

  9. python 2: 解决python中的plot函数的图例legend不能显示中文问题

    python 2: 解决python中的plot函数的图例legend不能显示中文问题 参考文章: (1)python 2: 解决python中的plot函数的图例legend不能显示中文问题 (2) ...

最新文章

  1. 造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
  2. Linux 定时清除日志 Log
  3. 高性能的MySQL(5)索引策略
  4. JavaScript 基础,登录前端验证
  5. boost::stable_sort相关的测试程序
  6. java openresty 调用_玩转 OpenResty 协程 API
  7. java的程序概念_Java程序基本概念
  8. 面试官:这货一听就是一个水货...
  9. php获取用户 地区 、ip地址
  10. 2019最新论文阅读-BlazeFace:面向移动设备的实时人脸检测
  11. EasyNVR摄像机无插件直播流媒体服务器前端构建之输入框样式的调整
  12. 一、UNIX系统概述
  13. 时间控件-Jedate
  14. Java实习生的一天
  15. PostgreSQL导入导出CSV
  16. 什么是Promise
  17. Mac系统官方资料使用与记录
  18. [赛后总结]G2022 Regular Contest 04总结
  19. Python数据 分析微信朋友圈
  20. 2021 企业架构(EA)状态调查报告

热门文章

  1. #JAVA# 判断从键盘输入的字符串是否为回文
  2. SpringMVC 返回值分类
  3. [极客大挑战 2019]BabySQL
  4. css索引_CSS中的Z索引:它是什么以及它做什么
  5. 捕获标志位_如何通过捕获标志挑战来提高网络安全技能-PicoCTF演练
  6. JavaScript游戏开发简介
  7. idea的英文是什么意思_德芙和多芬的英文都是Dove!“Dove”究竟是什么意思?
  8. scrapy —— ImagePipeline
  9. python测试题 - 列表,字典,字符串
  10. Hive ETL 任务调优(参数篇)