在 ggplot 中制作多个几何图形动画

2024-01-08

我正在尝试制作一个动画情节,展示 NBA 球队的三分出手率和助攻率如何随时间变化。虽然图中的点正确过渡,但我尝试添加垂直和水平平均线,但是总体平均值保持不变,而不是逐年变化。

p<-ggplot(dataBREFPerPossTeams, aes(astPerPossTeam,fg3aPerPossTeam,col=ptsPerPossTeam))+
  geom_point()+
  scale_color_gradient(low='yellow',high='red')+
  theme_classic()+
  xlab("Assists Per 100 Possessions")+
  ylab("Threes Attempted Per 100 Possessions")+labs(color="Points Per 100 Possessions")+
  geom_hline(aes(yintercept = mean(fg3aPerPossTeam)), color='blue',linetype='dashed')+
  geom_vline(aes(xintercept = mean(astPerPossTeam)), color='blue',linetype='dashed')

anim<-p+transition_time(as.integer(yearSeason))+labs(title='Year: {frame_time}')

animate(anim, nframes=300)

理想情况下,两条虚线会随着时间的推移而变化,但目前它们保持不变。有想法该怎么解决这个吗?


我在用datasets::airquality因为您还没有共享您的数据。这里的想法是,您需要拥有其他几何图形的值(这里是mean)作为数据集中的变量,所以gganimate可以绘制值之间的联系frame (i.e. transition_time).

所以我所做的是分组frame(这里是月份,它将是yearSeason为你),然后用我想要的变量的平均值来改变一列。然后在geoms我使用了附加变量而不是获取mean里面的geom。往下看;

library(datasets) #datasets::airquality

library(ggplot2)
library(gganimate)
library(dplyr)

g <- airquality %>% 
             group_by(Month) %>% 
             mutate(mean_wind=mean(Wind),
                    mean_temp=mean(Temp)) %>% 
        ggplot()+
          geom_point(aes(Wind,Temp, col= Solar.R))+
          geom_hline(aes(yintercept = mean_temp), color='blue',linetype='dashed')+
          geom_vline(aes(xintercept = mean_wind), color='green',linetype='dashed')+
          scale_color_gradient(low='yellow',high='red')+
          theme_classic()+
          xlab("Wind")+
          ylab("Temp")+labs(color="Solar.R")

animated_g <- g + transition_time(as.integer(Month))+labs(title='Month: {frame_time}')

animate(animated_g, nframes=18)

Created on 2019-06-09 by the reprex package https://reprex.tidyverse.org (v0.3.0)

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

在 ggplot 中制作多个几何图形动画 的相关文章

  • decompose() 的周期太少[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 错误看起来像这样 decompose
  • 从 R 中的向量中选择所有可能的元组

    我正在尝试用 R 编写一个程序 当给定一个向量时 将返回所有可能的tuples http en wikipedia org wiki Tuples该向量中的元素 例如 元组 c a b c c a b c 出租车 c a c c b c c
  • LDA with topicmodels,如何查看不同文档属于哪些主题?

    我正在使用 topicmodels 包中的 LDA 我已经在大约 30 000 个文档上运行它 获取了 30 个主题 并获得了主题的前 10 个单词 它们看起来非常好 但我想看看哪些文档属于哪个主题的概率最高 我该怎么做 myCorpus
  • numpy.histogram 的 hist 维度,密度 = True

    假设我有这个数组 A array 0 0019879 0 00172861 0 00527226 0 00639585 0 00242005 0 00717373 0 00371651 0 00164218 0 00034572 0 008
  • 如何从 R 运行带有特定模块的 perl 脚本?

    我可以从终端运行 perl 脚本 myperlscript pl 没有任何问题 但是 如果我尝试从 RStudio 中运行相同的 perl 脚本 则会出现以下错误 command lt myperlscript pl outputfile
  • 我无法下载 R 中的 reshape2 包 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试安装 R 包时收到此响应 gt installed packages reshape2 Package LibPath V
  • R - Plm 和 lm - 固定效应

    我有一个平衡面板数据集 df 本质上由三个变量组成 A B and Y 对于一堆独特识别的区域来说 它会随着时间的推移而变化 我想运行一个回归 其中包括区域 下面等式中的区域 和时间 年份 固定效应 如果我没记错的话 我可以通过不同的方式来
  • 如何计算R中移动窗口内的平均斜率

    我的数据集包含2个变量y 和 t 05s y 每 05 秒测量一次 我正在尝试计算移动中的平均坡度20秒窗口 即计算第一个 20 秒斜率值后 窗口向前移动一个时间单位 05 秒 并计算下一个 20 秒窗口 在以下位置生成连续 20 秒斜率值
  • 使用 pracma::findpeaks 识别持续峰值

    我的语法有问题peakpat内的选项findpeaks内的函数pramcaR 包 v 2 1 1 我使用的是 R 3 4 3 x64 Windows 我希望该函数能够识别可能有两个重复值的峰值 并且我相信该选项peakpat这就是我能做到的
  • 如何使用 R 计算成为列表中中位数的概率?

    假设我有以下数据集 其中显示了假设实验的每个状态的三个观察结果的列表 state lt c Iowa Minnesota Illinois outcome lt list c 5 11 11 c 3 12 8 c 9 14 2 dat lt
  • Dendextend:关于如何根据定义的组为树状图的标签着色

    我正在尝试使用一个名为 dendextend 的很棒的 R 包来绘制树状图并根据一组先前定义的组为其分支和标签着色 我已阅读您在 Stack Overflow 中的答案以及 dendextend vignette 的常见问题解答 但我仍然不
  • pyomo + 网状错误 6 句柄无效

    我正在尝试运行pyomo优化 我收到错误消息 Error 6 The handle is invalid 不知道如何解释它 环顾四周似乎与特权有关 但我不太明白 在下面找到完整的错误跟踪以及重现它的玩具示例 完整的错误跟踪 py run f
  • API 请求和curl::curl_fetch_memory(url, handle = handle) 中的错误:SSL 证书问题:证书已过期

    几天前 我运行了代码几个月 没有任何问题 GET url myurl query 今天我遇到一个错误 Error in curl curl fetch memory url handle handle SSL certificate pro
  • 在 R 中创建虚拟变量,排除某些情况为 NA

    我的数据看起来像这样 V1 V2 A 0 B 1 C 2 D 3 E 4 F 5 G 9 我想创建一个虚拟变量R where 0 1 1 2 3 4 and NA 0 5 9 应该很简单 有人可以帮忙吗 我们可以转换V2 into a fa
  • Purrr::map_df() 删除 NULL 行

    使用时purrr map df 我偶尔会传递一个数据框列表 其中一些项目是NULL 当我做 map df 返回行数少于原始列表的数据框 我想发生的事情是这样的map df calls dplyr bind rows 它忽略了NULL价值观
  • 将每列的值乘以 R 中另一个 data.frame 中的权重

    我有两个data frames df and weights 代码如下 df看起来像这样 id a b d EE f 1 this 0 23421153 0 02324956 0 5457353 0 73068586 0 5642554 2
  • ggplot2 geom_密度和geom_histogram在一个图中

    如何制作一个所有条形加起来为 1 的直方图 并在适合的上方添加一个密度层 set seed 1234 df lt data frame sex factor rep c F M each 200 weight round c rnorm 2
  • 朴素贝叶斯分类器仅基于先验概率做出决策

    我试图根据推文的情绪将推文分为三类 买入 持有 卖出 我正在使用 R 和包 e1071 我有两个数据框 一个训练集和一组需要预测情绪的新推文 训练集数据框 text sentiment this stock is a good buy Bu
  • ddply 和aggregate 之间的区别

    有人可以通过以下示例帮助我了解聚合和 ddply 之间的区别 数据框 mydat lt data frame first rpois 10 10 second rpois 10 10 third rpois 10 10 group c re
  • 将阴影区域添加到五分位数之间的直方图中

    All 我有一个包含 2 个直方图的图表 其中我还绘制了代表第 20 40 60 和 80 个百分位数的线条 下面的代码使用虚拟数据重现了类似的图表 data lt rbind data frame x rnorm 1000 0 1 g o

随机推荐

  • 使用 Facebook SDK 和 Windows Azure SDK 时的 xcode 链接问题

    我正在构建一个使用最新 Facebook SDK v3 1 和 Windows Azure iOS Toolkit SDK 的应用程序 现在 Azure SDK 需要将 all load 和 ObjC 标志添加到 生成设置 中的 其他链接器
  • 在R中添加时间

    R 中的日期和时间非常混乱 我只想随机生成一些 24 小时时钟时间 然后添加到它们中 随机生成 library lubridate hourTime lt as list format seq POSIXt as POSIXct Sys D
  • DDD - 数据库中跨界上下文和不同模式的实体一致性

    我正在使用 Entity Framework Code First 实现 DDD 我的域模型保持原样 没有任何映射层 我正在遵循期间建议的方法Tech Ed https channel9 msdn com Events TechEd Eur
  • 为所有页面生成本地资源

    有什么方法或技巧可以自动为 Visual Studio 2010 中的所有页面生成本地资源吗 我有大约 500 个页面和用户控件 很难为每个页面逐一生成资源 有任何附加组件或扩展吗 沙欣 写个剧本行不行 资源文件只不过是一个 XML 文件
  • 错误:您必须至少安装一个 postgresql-client- 软件包

    我正在尝试在 Ubuntu 中安装 PostgreSQL 我按照以下指示进行操作 opt PostgreSQL 9 0 doc postgresql html installation html 似乎已成功安装 PostgreSQL 但作为
  • 无法开始在 iOS 中接收远程控制事件

    在我的应用程序中 我想让用户控制后台音频播放 我在 plist 中设置了背景模式 并在背景中设置了播放模式 就像我想要的那样 但是我无法通过触摸控制按钮得到任何响应 我设置了AudioSession像这样 AVAudioSession sh
  • 如何将RapidJSON文档序列化为字符串?

    如何将RapidJSON文档序列化为字符串 在所有示例中 序列化文本通过以下方式重定向到标准输出 FileStream 但我需要将其重定向到字符串变量 In the 项目的第一页 http rapidjson org 代码已经展示了如何将文
  • 如何更新旧的 Android 项目以适应新的 Android SDK 工具的更新?

    以前我使用的是旧版本Android SDK工具 http developer android com sdk tools notes html 现在我搬到了一台新电脑 从头开始设置我的新开发环境 并从以前的电脑复制并导入项目 现在 如果我在
  • JMX 和 RMI 的区别

    JMX 的目的是什么以及它的用途是什么 我一直在浏览 JMX 上的一些教程 它们所做的就是注册一些 Mbean 并从 jconsole 调用这些 Mbean 如果这就是它的目的 那么 JMX 和 RMI 远程过程调用 之间有什么区别 提前致
  • 如何使用 VBA 将样式应用于 Word 中的多个选择?

    我创建了一个宏 它将特定的样式应用于文档中选择的任何内容 但是 在草稿视图中 当用户在样式区域窗格中单击以选择一个段落 然后按住 Ctrl 键并单击其他段落时 运行此宏时不会应用此附加选择 Sub BodyTextApply Selecti
  • 在单元测试中伪造我的数据库层的方法是什么?

    我有一个关于单元测试的问题 假设我有一个带有一个创建方法的控制器 该方法将新客户放入数据库中 code a bit shortened public actionresult Create Formcollection formcollec
  • 如何使用 javascript 将 json 数据写入 google 工作表

    我正在尝试使用 javascript 将 json 数据渲染到 google 工作表 我尝试搜索大量文档 并且已经尝试了几个小时 我确实在工作表中输入了一行数据 但我需要在正确的行和列中渲染整个 json 数据集 function rend
  • 如何在Spring字符串到数组或列表转换中转义“,”(逗号)

    我们有一个 Spring 绑定 它将字符串转换为Lists 使用 Spring 提供的默认转换器 例如 如果我们有a b c从表单推送然后控制器得到一个List与元素 a b c 我们不需要在代码中做任何特殊的事情 我在处理数据中的逗号时遇
  • 自动点击弹出按钮

    我有以下按钮突然出现在窗口上 span class a b c Accept Waiting Chat span 是否可以拦截它并自动点击它 我正在考虑 JS 或 Greymonkey 扩展中的一些东西 Ideas None
  • 阻止直接访问文件,但允许通过 jquerys 加载函数访问

    我在用着jQuery通过它向用户显示某个页面 load 功能 我这样做是为了允许用户自定义网站 让他们能够满足自己的需求 目前 我正在尝试显示该文件feed php容器内部main php 我遇到一个问题 我想阻止直接访问文件 即 直接进入
  • 使用 MSBuild 4.0 记录构建消息

    我在代码中使用 MsBuild 4 0 如下所示 var globalProperties new Dictionary
  • 使用 Python BeautifulSoup 库解析 Span HTML 标签中的信息

    我正在编写一个 Python 网络抓取工具 用于获取特定股票的价格 在我的程序末尾 有一些打印语句可以正确解析 html 数据 以便我可以在某个 HTML span 标记内获取股票的价格信息 我的问题是 我该怎么做 我已经获得了正确的 HT
  • 无法强制 clang CompilerInstance 对象将标头解析为 C++ 文件

    我有一个名为的 C 标头class h我想解析 class MyClass public Class Class bool isTrue const bool isFalse const private bool m attrib bool
  • WebStorm IDE 的高效使用

    我最近爱上了 WebStorm 作为 JavaScript 开发的 IDE 问题是 我来自 vim 和轻量级编辑器的世界 所以我可能无法完全理解 IDE 带来的所有功能 是的 我已经看过演示文稿并阅读了文档 但是有很多功能 我不确定其中哪些
  • 在 ggplot 中制作多个几何图形动画

    我正在尝试制作一个动画情节 展示 NBA 球队的三分出手率和助攻率如何随时间变化 虽然图中的点正确过渡 但我尝试添加垂直和水平平均线 但是总体平均值保持不变 而不是逐年变化 p lt ggplot dataBREFPerPossTeams