在R中的plotly直方图函数中自定义bin宽度

2024-01-01

我有一个数据集,其中包含每天的日期和通话量。当我使用plotly R 包绘制它们时,除了其中 1 个之外,所有日期都将每个日期分隔到不同的容器中。然而,这一棘手的数据子集而是将数据分组为 2 天的间隔,这并不是非常有用的信息。我确信这是一个简单的修复,但我不太确定如何更改垃圾箱宽度。

a <- as.Date(c("2019-02-01", "2019-01-14", "2019-01-15", "2019-01-24", "2019-01-31", "2019-01-22","2019-01-14", "2019-01-25", "2019-02-06","2019-01-17", "2019-01-10", "2019-02-06","2019-01-15", "2019-01-17", "2019-01-28","2019-02-04", "2019-01-18","2019-01-15","2019-01-18", "2019-01-25", "2019-01-17","2019-01-30", "2019-01-25", "2019-01-23","2019-01-28", "2019-01-28", "2019-02-06","2019-02-04", "2019-01-24", "2019-01-30","2019-02-01", "2019-01-24", "2019-01-18","2019-01-22", "2019-02-06", "2019-01-17","2019-01-11", "2019-02-06", "2019-01-16","2019-01-31", "2019-02-04", "2019-01-23","2019-01-29", "2019-01-25", "2019-01-22","2019-02-05", "2019-02-01", "2019-01-28","2019-01-22", "2019-01-24", "2019-02-01","2019-01-23", "2019-01-30", "2019-02-05","2019-02-06", "2019-01-24", "2019-02-06","2019-01-30", "2019-01-28", "2019-01-16","2019-01-10", "2019-02-04", "2019-02-07","2019-02-01", "2019-02-04", "2019-01-17","2019-01-17", "2019-02-05", "2019-01-30","2019-02-04", "2019-02-01", "2019-02-01","2019-01-24", "2019-01-23", "2019-02-04","2019-02-04", "2019-01-23", "2019-02-04","2019-01-18", "2019-01-22", "2019-01-24","2019-01-17", "2019-01-22", "2019-02-06","2019-01-10", "2019-01-14", "2019-01-09","2019-02-05", "2019-01-11", "2019-01-17","2019-01-23", "2019-01-23", "2019-02-05","2019-01-11", "2019-02-04", "2019-01-28","2019-01-24", "2019-01-22", "2019-01-24","2019-01-18", "2019-01-31", "2019-02-04","2019-01-22", "2019-01-14", "2019-01-11","2019-01-11", "2019-01-28", "2019-02-01","2019-01-28", "2019-01-25", "2019-02-07","2019-01-24", "2019-02-06", "2019-01-15","2019-01-24", "2019-01-23", "2019-01-17","2019-01-24", "2019-01-24", "2019-01-23","2019-01-24", "2019-01-24", "2019-01-25","2019-01-24", "2019-01-24", "2019-01-28","2019-01-31" ,"2019-01-24", "2019-01-24","2019-01-22", "2019-01-24", "2019-01-17", "2019-01-24", "2019-01-22", "2019-01-23","2019-01-24", "2019-01-22", "2019-02-01","2019-01-14", "2019-01-23", "2019-01-30","2019-02-04", "2019-01-30", "2019-01-30","2019-02-04", "2019-02-04", "2019-01-30", "2019-01-30", "2019-01-30", "2019-01-30", "2019-01-29", "2019-01-31", "2019-01-25","2019-01-28" ,"2019-01-29")
plot_ly(x = a, type = "histogram") %>% layout( title = "Volume", xaxis = list(title = "Date"), yaxis = list(title = "Number of Calls"))

这是我使用的数据和代码的示例。我知道如何更改 ggplot2 和标准 hist() 函数中的 bin 宽度,但plotly 的交互式可视化是我在这里尝试捕获的内容。谢谢你!


根据 @MLavoie 的回应,我想用一个示例来回答这个问题,其他人在绘制两个重叠的直方图时可以轻松使用该示例。

要添加的重要直方图属性是nbinsx = 30如下所示。

# Add required packages
library(plotly)    

# Make some sample data
a = rnorm(1000,4)
b = rnorm(1000,6)

# Make your histogram plot with specified binsize set to 30 here
fig <- plot_ly(alpha = 0.6, nbinsx = 30)
fig <- fig %>% add_histogram(a, name = "first")
fig <- fig %>% add_histogram(b, name = "second")
fig <- fig %>% layout(barmode = "overlay", 
                      yaxis = list(title = "Frequency"),
                      xaxis = list(title = "Values"))

# Print your histogram 
fig

And here is the result of the code: Finished histogram

BONUS:

有时 y 轴上的对数刻度可能很有用。这可以通过对代码进行以下更改来完成:

# Add required packages
library(plotly)    

# Make some sample data
a = rnorm(1000,4)
b = rnorm(1000,6)

# Make your histogram plot with specified binsize set to 30 here
fig <- plot_ly(alpha = 0.6, nbinsx = 30)
fig <- fig %>% add_histogram(a, name = "first")
fig <- fig %>% add_histogram(b, name = "second")
fig <- fig %>% layout(barmode = "overlay", 
                      yaxis = list(title = "Frequency", type = "log"),
                      xaxis = list(title = "Values"))

# Print your histogram 
fig

这是带有对数刻度的代码的结果(在这种情况下并不是特别有用):

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

在R中的plotly直方图函数中自定义bin宽度 的相关文章

随机推荐

  • ECMAScript 6 中的 Symbol.for(string)

    我花了一段时间 但我终于弄清楚了 ECMAScript 6 中符号的用途是什么 在将属性附加到共享对象 例如 HTML 元素 时避免名称冲突 如果您遇到同样的问题 我建议本文 https hacks mozilla org 2015 06
  • 基于 div 而非 screen 的条件 CSS

    所以我做了一些研究并且接近答案 但是我想要做的事情可能无法仅用 CSS 实现 我真的希望如此 最终目标是 如果 id 为 Primary 的元素的宽度为 915 或更小 则将一类 bricks 的元素的宽度设置为 90 html 片段 di
  • 从数据创建 CMSampleBufferRef

    我正在尝试从数据创建 CMSampleBuffer Ref 并尝试将其提供给 AVAssetWriter 但资产编写者未能根据数据创建电影 以下是创建 CMSampleBufferRef 的代码 CVImageBufferRef cvimg
  • 从 QList 填充 QVector

    我有一个 QList 和 QVector 我填充 Qlist 然后尝试复制到 QVector 奥维特有一个来自列表 http qt project org doc qt 4 8 qvector html fromList方法 但这不起作用
  • 链接到 jQuery 文件的最佳方式[重复]

    这个问题在这里已经有答案了 就网站性能 速度而言 链接到 jquery 是否更好 如下所示 或者将文件放在服务器上并从那里链接到它们 如下所示 这取决于谁拥有更快的服务器 对吗 有一些优点code jquery com 这很常见 如果用户访
  • 将十六进制字符串转换为十六进制整数

    我必须将十六进制字符串转换为十六进制整数 如下所示 color 0xFF00FF can be any color else defined by functions colorto 0xFF00FF copy of color but f
  • Google App Engine 502 具有“上游过早关闭连接”,但似乎无法到达我们的实例

    我们有一个提供 API 的 Node js App Engine 服务 很少 500 个请求中就有 1 个 向客户端返回 502 并从 Google Cloud Logging 的 nginx 日志中获取错误 upstream premat
  • 偏航、俯仰和滚转值延迟

    我正在 Windows Phone 7 1 中开发一个应用程序 我需要手机在 x 轴和 y 轴上的当前旋转度数 我尝试使用运动 API 并使用它提供的偏航俯仰和滚动的适当值 但它提供的值是延迟的 因为如果我移动手机太快并将其旋转到 90 度
  • SoapUI - 自动将自定义 SOAP 标头添加到传出请求中

    所以我想要做的是自动将 SOAP 标头添加到 SoapUI 中生成的每个请求中 因为我有数百个请求 手动执行此操作很烦人 可以说 这是我从 WSDL 生成的示例请求 如下所示
  • 简单的 NFC 代码不起作用?

    我正在尝试开始使用 NFC 编写应用程序 我只需要从一部手机向另一部手机发送一条仅包含简单字符串的 NDef 消息 我的传输活动 public class MainActivity extends Activity NfcAdapter m
  • 从 HBase shell 导出数据

    我正在尝试将数据从 HBase Shell 导出到我可以解析的文本文件 然后添加到 msysql 数据库 我目前正在使用以下命令 echo scan registration COLUMNS gt registration status h
  • CSS:Safari 的边距问题

    On the 我正在开发的网站 http like o potomo us 出于某种原因 Safari 的边距需要与 FF IE8 Chrome 和 Opera 不同吗 我有一个链接 我想将其排列在标签旁边 除了 Safari 需要 12
  • COUNTIF 范围内的唯一日期

    我正在努力寻找一种方法COUNTIF S 特定日期集之间 但仅获取唯一日期的计数 作为上下文 我连续几天跟踪仪表 我可以在同一天获得多个具有不同仪表值的实例 事实上 这种情况可能会破坏我的平均米数 天数 Data A3 A8700 是日期范
  • Matplotlib:从多个子图中抓取单个子图

    我有一个应用程序 其中有一个带有九个线图子图 3x3 的图形 我想让用户选择其中一个图表 并打开一个小的 wx Python 应用程序以允许编辑和缩放指定的子图阴谋 是否可以从选定的子图中获取所有信息 即轴标签 轴格式 线条 刻度大小 刻度
  • 检查任何正在运行的二进制文件是否是 32 位或 64 位

    可以检查应用程序包的二进制进程是否在 32 位或 64 位模式下运行 如下所示在这个问题中回答了 https stackoverflow com questions 7335245 macosx find out if a process
  • WebClient.CancelAsync — 文件仍在下载

    我正在尝试使用 Asp NET Core 创建一个 Web API 该 API 公开启动和取消大文件长时间下载的路由 服务器应该能够同时处理多个下载 下载是使用执行的WebClient DownloadFileAsync为了有一个短的响应时
  • 如果我有特定选项卡的 tabId,如何获取该选项卡的窗口对象?

    我有一个选项卡的tabId 如何获取它的窗口对象 在 chrome 扩展中看到的窗口对象 chrome tabs get YOUR TAB ID HERE function tab chrome windows get tab window
  • 如何过滤正在运行的节点

    我想过滤正在运行的节点列表 我尝试了下面的命令 但它只显示运行状态 我需要用它的名称进行过滤 有什么帮助吗 root techsl kubectl get nodes o jsonpath range items metadata name
  • 如何从 Blazor C# 代码生成 window.history.go(-1)?

    如何在 Blazor 上从 C 代码生成 window history go 1 我尝试使用 JSRuntime Current InvokeAsync JSRuntime Current InvokeAsync lt string gt
  • 在R中的plotly直方图函数中自定义bin宽度

    我有一个数据集 其中包含每天的日期和通话量 当我使用plotly R 包绘制它们时 除了其中 1 个之外 所有日期都将每个日期分隔到不同的容器中 然而 这一棘手的数据子集而是将数据分组为 2 天的间隔 这并不是非常有用的信息 我确信这是一个