ggplot2:如何通过多个变量为图表着色

2024-03-17

我相当确定我在某处看到了这个问题的解决方案,但由于我无法找到它,这就是我的问题。

我有一些由多个变量标识的时间序列数据,我希望能够使用多个变量来绘制图表并区分颜色ggplot2.

样本数据:

date <- c("2016-04-01 UTC", "2016-05-01 UTC", "2016-06-01 UTC", "2016-04-01 UTC",
          "2016-05-01 UTC", "2016-06-01 UTC", "2016-04-01 UTC", "2016-05-01 UTC",
          "2016-06-01 UTC", "2016-04-01 UTC")
temp <- c(80.24018,  85.88911, 104.23125,  85.13571,  91.21129, 104.88333,  97.81116,
          107.40484, 121.03958,  87.91830)
id <- c("A","A","A","A","A","B","B","B","B","B")
location <- c("N","S","S","N","N","S","N","S","N","S")

df <- data.frame(date,temp,id,location)

我在绘图方面的尝试

library(ggplot2)

ggplot(df) + 
  geom_line(aes(x=date,y=temp,colour=factor(location), group=interaction(location,id)))

使用此代码仅按位置着色。我想根据位置和 ID 对线条进行着色。


两种选择:

library(ggplot2)

df <- data.frame(date = c("2016-04-01 UTC", "2016-05-01 UTC", "2016-06-01 UTC", "2016-04-01 UTC", "2016-05-01 UTC", "2016-06-01 UTC", "2016-04-01 UTC", "2016-05-01 UTC", "2016-06-01 UTC", "2016-04-01 UTC"),
                 temp = c(80.24018,  85.88911, 104.23125,  85.13571,  91.21129, 104.88333,  97.81116, 107.40484, 121.03958,  87.91830),
                 id = c("A","A","A","A","A","B","B","B","B","B"),
                 location = c("N","S","S","N","N","S","N","S","N","S"))

df$date <- as.Date(df$date)    # parse dates to get a nicer x-axis

Map id给颜色和location到线型:

ggplot(df, aes(date, temp, color = id, linetype = location)) + geom_path()

...或将所有交互绘制为不同的颜色:

ggplot(df, aes(date, temp, color = id:location)) + geom_path()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ggplot2:如何通过多个变量为图表着色 的相关文章

随机推荐

  • Android:获取基站和邻近小区的小区 ID 和 RSS

    我正在尝试获取以下数据 基站 CellID和RSS 识别哪个是基站 对于所有邻近站点 小区 ID 和 RSS 有各种 API 看起来我必须使用不同的 API telephonyManager 和 PhoneStateListener 我有点
  • 如何使用 Composer 初始化 Symfony 控制台项目,以限制其坚持使用长期发行版本?

    我的目标是经营作曲家require命令来初始化 Symfony Console 项目 当运行作曲家的require命令 我相信可以将所需的包限制为特定版本 我正在考虑使用它来坚持 Symfony 的长期发行版本 它将支持更长时间 根据Sym
  • ExtJS 4:单击按钮后替换视口项目数组中的两个组件

    下面是一些单击按钮后即可运行的代码 当我在另一个按钮中再次设置 视图 变量 对于不同的按钮 并使用不同的网格和不同的表单运行这个确切的代码时 这两个项目完全消失 为什么它在第一次迭代时运行 但在第二次迭代时不运行 更重要的是 我怎样才能正确
  • 按元素有效比较 numpy 数组与其自身

    我正在执行大量这些计算 A A np newaxis T 其中 A 是一个密集的 numpy 数组 通常具有共同的值 为了进行基准测试 我们可以使用 n 30000 A np random randint 0 1000 n A A np n
  • Angular 2 服务 + RxJS BehaviourSubject 或 EventEmitter

    我是 Angular 2 和 RXJS 的新手 我有一个带有 2 个触发器 按钮 的自定义标头组件 它应该在应用程序的不同部分激活 2 个不同的导航指令 我创建了一个服务 它注册了 2 个不同的导航指令 并且标头组件订阅了该指令 我想知道链
  • 类型错误:get_params() 缺少 1 个必需的位置参数:'self'

    我试图使用scikit learn与 python 3 4 一起打包以进行网格搜索 from sklearn feature extraction text import TfidfVectorizer from sklearn linea
  • 即使添加“unsafe-eval”后,对 function() 的调用也会被 CSP 阻止

    我正在开发一个 NodeJS 项目并且正在使用CSP 内容安全政策 http www w3 org TR CSP 我正在使用外部插件FullCalendar它被 csp 阻止 出现以下错误 Error call to Function bl
  • Sequelize:批量插入

    我正在使用 Node js MySQL 和 Sequelize 我想一次向表中插入一些 10k 行 桌子有定制的primaryKey字段 正在手动设置 数据是从网上下载的并且是重叠的 我想要一个版本bulkCreate如果数据中的任何行具有
  • 如何在 MPAndroidChart 中向 x 轴和 y 轴添加字符串标签

    I am trying to add a String Label in order to label both the domain x axis and the range y axis of my LineChart as shown
  • Django:GenericForeignKey 中的 content_type_id

    我根据文档编写了这个类 以便能够对应用程序中具有 id 的任何内容进行投票 class Vote models Model class Meta unique together voted id voter id content type
  • take 2 $ [1..] 在 haskell 中如何工作?

    我们知道 运算符绑定的是最松散的 并且也关联到右侧 这意味着 1 应该首先被评估 因此 它不应该陷入无限循环吗 为什么它甚至完全停止了 Haskell is lazy and doesn t change that The operator
  • 适用于 C++ 的最佳开放式 XML 解析器是什么? [复制]

    这个问题在这里已经有答案了 我正在寻找一个简单 干净 正确的 XML 解析器来在我的 C 项目中使用 我应该自己写吗 怎么样RapidXML http rapidxml sourceforge net RapidXML 是一个用 C 编写的
  • C++:全局变量作为指针

    我是 C 新手 对全局变量有一个问题 我在许多示例中看 到全局变量是带有堆地址的指针 所以指针位于全局 静态变量的内存中 地址后面的数据位于堆上 对吗 相反 您可以声明存储数据的全局 无指针 变量 因此 数据存储在全局 静态变量的内存中 而
  • Grails - 将 HTML 文件作为 UTF-8 提供?

    通过 tomcat 通过 web app 提供的 html 文件的 UTF 8 被破坏 如果我直接打开文件file 它渲染得很好 如果我在运行应用程序期间查看该文件 它看起来不错 然而 当我部署为战争时 UTF 8字符出现乱码 响应的内容类
  • 如何内省地将处理程序连接到信号?

    gtk Builder http www pygtk org docs pygtk class gtkbuilder html能够识别 GUI 在 XML 文件中描述 可以发出的所有信号 并使用以下方法连接信号 http www pygtk
  • 状态栏中图标的颜色(Flutter)

    我正在使用 FLUTTER 设计指的是状态栏的黑色 并且状态栏图标的颜色必须是白色 那么如何改变 flutter 中状态栏图标的颜色呢 要改变icon白色尝试以下内容build method import package flutter s
  • 在 Rails 中清理迁移的好方法是什么?

    所以我已经在这个 Web 应用程序上工作了一年 我想将模式编译为一个迁移 这样我的文本编辑器加载速度更快 git 工作目录也不会那么混乱 搜索查找会更快 我的任何配置 数据库都不会长 4000px 迁移服务器后 请删除迁移文件 如果您想开始
  • CSV 标准 - 多个表

    我正在开发一个 python 项目 对 csv 文件进行一些分析 我知道 csv 文件没有明确定义的标准 但据我了解定义 https www rfc editor org rfc rfc4180 page 2 https www rfc e
  • 以编程方式控制 Angular-ui 手风琴的好方法是什么?

    我正在使用手风琴指令http angular ui github com bootstrap http angular ui github com bootstrap 我需要更好地控制手风琴何时打开和关闭 更准确地说 我需要手风琴组内的一个
  • ggplot2:如何通过多个变量为图表着色

    我相当确定我在某处看到了这个问题的解决方案 但由于我无法找到它 这就是我的问题 我有一些由多个变量标识的时间序列数据 我希望能够使用多个变量来绘制图表并区分颜色ggplot2 样本数据 date lt c 2016 04 01 UTC 20