Plotly-R:如何制作有间隙的 y 轴?

2024-03-16

Is it possible to create a plotly bar chart, e.g. any chart from the following website: https://plotly.com/r/bar-charts/ https://plotly.com/r/bar-charts/ but with the gapped (broken) Y axis? An example from (ggplot2, I believe) attached below: enter image description here


据我所知,plotly 没有任何内置功能来执行此操作。但如果您满足以下条件,仍然可以使用子图制作与您的图像相匹配的图形:

  1. use subplot(fig1, fig2, nrows = 2, shareX=TRUE, margin = <low>), and

  2. 调整 y 轴的图形位置[1, 1] and [2, 1]分别以定义的时间间隔内所需的截止值开始和结束。

Plot:

完整代码:

library(dplyr)
library(plotly)


years <- c(1995, 1996, 1997, 1998, 1999, 2000,2001, 2002, 2003, 2004, 2005, 2006,2007, 2008, 2009, 2010, 2011, 2012)
China <-  c(219, 146, 112, 127, 124, 180, 236,207, 236, 263,350, 430, 474, 1526,488, 537, 500, 439)
Rest_of_World <- c(16, 13, 10, 11, 28, 37,43, 55, 56, 88, 105, 156, 270,299, 340, 403, 549, 1499)
df <- data.frame(years, China, Rest_of_World)

colors <- c('rgb(31, 119, 180)',
 'rgb(255, 127, 14)',
 'rgb(44, 160, 44)',
 'rgb(214, 39, 40)',
 'rgb(148, 103, 189)',
 'rgb(140, 86, 75)',
 'rgb(227, 119, 194)',
 'rgb(127, 127, 127)',
 'rgb(188, 189, 34)',
 'rgb(23, 190, 207)')

cutinterval = c(600, 1400)

fig1 <- plot_ly(df, type = 'bar')
fig1 <- fig1 %>% add_trace(x=years, y=China, #yaxis = list(range = c(0, 400)),
                           marker=list(color = 'red'),
                           name = 'China',
                           legendgroup='China')
fig1 <- fig1 %>% add_trace(x=years, y=Rest_of_World,
                           marker=list(color = 'blue'),
                           name = 'Rest of World',
                           legendgroup='Rest_of_World')

fig2 <- plot_ly(df, type = 'bar')
fig2 <- fig2 %>% add_trace(x=years, y=China, #yaxis = list(range = c(1400, 1600)),
                           marker=list(color = 'red'),
                           legendgroup='China',
                           showlegend=FALSE)
fig2 <- fig2 %>% add_trace(x=years, y=Rest_of_World,
                           marker=list(color = 'blue'),
                           legendgroup='Rest_of_World',
                           showlegend=FALSE)
list(range = c(0, cutinterval[1]))

fig1 <- fig1 %>% layout(barmode = 'group')
fig <- subplot(fig1, fig2,nrows = 2, shareX=TRUE, margin = 0.02)

fig <- layout(fig, yaxis2 = list(range = c(0, cutinterval[1])),
                   yaxis = list(range = c(cutinterval[2], 1600))
                   #shapes = list(hline(1500))
              )


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

Plotly-R:如何制作有间隙的 y 轴? 的相关文章

  • R:如何找到向量的模式[重复]

    这个问题在这里已经有答案了 下面是我的data frame我想知道每个内存类别 1 到 8 的模式是什么 gt dput d structure list MEMORY1 c 5 5 7 1 5 6 4 5 4 5 5 4 1 5 5 2
  • 在函数中使用 quit/q 会导致 RStudio 出现致命错误

    更多的是好奇 但当你使用时q or quit在 R studio 内的函数内部 它会导致致命错误 如下所示 但 rgui 中的相同函数会导致 R 像往常一样停止 并且仅使用q 在 RStudio 中按预期关闭 R 为什么q在函数中导致 RS
  • 使用自定义渐变填充直方图箱

    我想在 R 和 ggplot2 中创建一个直方图 其中根据连续的 x 值填充箱 大多数教程仅通过离散值或密度 计数进行着色 下列的这个例子 https stackoverflow com questions 40284227 how to
  • 如何使用 R 中的函数 sqlSave() 将数据附加到具有 IDENTITY 主键的 SQL Server 表?

    我在SQL Server中创建了一个表 如下所示 CREATE TABLE testPK ID INT NOT NULL IDENTITY 1 1 PRIMARY KEY NumVal NUMERIC 18 4 现在我想使用 RODBC 函
  • 为每个因素级别添加日期时间序列

    我有一个带有因子列的数据框 s lt data frame id 901 910 s id lt as factor s id 我有一个日期时间序列 library lubridate start lt now as difftime 2
  • 改进R中从google获取股票新闻数据的功能

    我已经编写了一个函数来从 Google 获取和解析给定股票代码的新闻数据 但我确信有一些方法可以改进它 对于初学者来说 我的函数返回一个 GMT 时区的对象 而不是用户当前的时区 如果传递的数字大于 299 它就会失败 可能是因为 goog
  • 如何使用autoconf重新生成配置文件?

    我使用 autoconf 重新生成配置文件 它有效 但是当我执行生成的配置文件时 configure 有一些错误消息 例如 configure line 3713 syntax error near unexpected token bla
  • 根据 R 数据框中的名称对列进行平均

    我想知道是否有一种有效的方法来获取每组的平均值类似命名的列谁的名字结尾为 1S and 2S ex ex1S ex2S at time 1并取每组的平均值类似命名的列谁的名字结尾为 1C or 2C ex ex1C ex2C at time
  • RStudio 不会通过 rPython 调用加载所有 Python 模块

    我从 Bash 和 RStudio 中运行相同的脚本时出现一些意外行为 请考虑以下事项 我有一个文件夹 rpython 包含两个脚本 test1 R library rPython setwd rpython python load tes
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • 在 Lavaan 生长曲线模型中提取个体轨迹

    我已经使用 R 的 Lavaan 包中的 Growth 函数成功地对一项研究的纵向数据进行了建模 我找不到任何关于如何提取每个参与者的预测轨迹的记录 我只能找到整个组的预测轨迹 在摘要输出的 拦截 部分下给出 使用 lavPredict m
  • R 中使用 `UseMethod()` 与 `inherits()` 来确定对象的类

    如果我需要根据 R 对象的类以不同的方式处理它们 我可以使用if and else在单个函数内 foo lt function x if inherits x list Foo the list else if inherits x num
  • 通过 R 中的数据子集执行计算

    我想对数据框的 PERMNO 列中的每个公司编号进行计算 其摘要可以在此处查看 gt summary companydataRETS PERMNO RET Min 10000 Min 0 971698 1st Qu 32716 1st Qu
  • rvest 和 NHL 统计数据的 CSS 选择器问题

    我想从 hockey reference com 中抓取数据 特别是从以下链接中抓取数据 https www hockey reference com leagues NHL 1991 html https www hockey refer
  • 更改 pander 中的默认对齐方式 (pandoc.table)

    我目前正在切换到pander对于我的大部分时间knitr markdown格式化 因为它提供了如此出色的pandoc支持 我不太满意的一件事是默认的居中对齐 营销人员可能会喜欢它 但对于技术报告来说这是一个可怕的事情 使用的最佳选择Hmis
  • 使用 RDCOMClient 搜索 Outlook 收件箱

    我尝试使用 RDCOMClient 在 Outlook 收件箱中搜索电子邮件中的特定主题 然后获取附件 我在一封电子邮件上进行了这项工作 但由于主题包含日期元素 我需要搜索成为一个类似的子句 但不太清楚这适合我的下面的查询 outlook
  • 如何在 R 中绘制一列与其余列的关系图

    我有一个数据集 其中 1 是时间 接下来的 14 个是幅度 我想在一张图表上散布所有大小与时间的关系 其中每个不同的列都是网格化的 分层在另一个之上 我想使用原始数据来制作这些图表 并单独制作它们 但只想执行此过程一次 数据集A 唯一的自变
  • 如何自动启动我的 ec2 实例、运行命令然后将其关闭?

    我想每周对 redshift postgres 数据库中的数据运行一次机器学习模型 我使用以下命令将 R 脚本设置为休息 apiplumbr然后我将其设置为一项任务来管理pm2 我有它 所以任务会在ec2实例启动然后继续运行 要让 R 脚本
  • 计算互相关函数?

    In R 我在用ccf or acf计算成对互相关函数 以便我可以找出哪个移位给我带来最大值 从它的外观来看 R给我一个标准化的值序列 Python 的 scipy 中是否有类似的东西 或者我应该使用fft模块 目前 我正在这样做 xcor
  • 如何绘制大时间序列(数千次给药次数/药物剂量)?

    我正在尝试绘制医院中如何开出单一药物的图解 在这个虚拟数据库中 我在 2017 年 1 月 1 日之后遇到了 1000 名患者 绘图的目的是了解该药物的给药模式 在接近入院 出院或患者住院期间是否更频繁 高剂量给药 Get random d

随机推荐

  • React - 自动完成调用 API

    我正在使用 Material UI 自动完成组件在返回 JSON 的方法中进行 API 调用 这个想法是 当用户输入自动完成组件时 它会调用以查找与字符串匹配的结果 我输入的代码存在的问题是我不知道如何进行 API 调用并在自动完成组件中返
  • 更改 wsdl: 部件名称

    有什么办法可以改变nameWSDL 中的消息部分 我的 WSDL 上有这个
  • 显示 Grails 字段错误

    有谁知道我怎样才能得到fieldError在下面的示例中打印出来 对于每个有错误的项目 我想打印我在 messages properties 文件中定义的自定义错误消息 目前所做的只是打印默认错误代码 item errors allErro
  • 使用 Java 添加 Soap 操作标头

    如何在 java util soap 中添加肥皂操作标头我使用 SoapUI 测试了该服务
  • 我可以在 Sublime Text 2 中保存折叠的代码吗?

    有代码我可以忘记所有看起来不错 但是 关闭文件并重新打开它后 我怎样才能折叠这段我多年都不会编辑的代码 希望如此 并无限期地隐藏它 我觉得缓冲区滚动 https github com SublimeText BufferScroll插件会做
  • EAR包结构

    我正在创建一个带有 1 个 war 文件 appWeb war 是我的 Web 模块 和几个 jar 文件的 EAR 这些 jar 文件不是 EJB 我们选择根据应用程序的逻辑分离创建不同的 jar 文件 例如 model jar 包含所有
  • 遍历 Racket 中的字母表中的字母

    我想编写一个程序 将字母表中的字母作为符号进行迭代 并用它们做一些事情 我希望它大致相当于以下 C 代码 for char letter a letter lt z letter printf The letter is c n lette
  • 使用 SortDescription 时将字符串日期转换为日期

    我的 WPF 应用程序使用XMLDataProvider为其数据 XML 文件有一个
  • 如何从 coredata (实体)ios swift 中删除行

    我是我的应用程序中的核心数据新手 我正在使用 coredata 我只是将数据存储在我的核心数据中 我的实体名称是 FEED 我有一些名称为 title id link desc 的行 所以现在我想根据 id 删除特定行 那么我该怎么做呢 这
  • 方法链接的影响

    我知道 PHP 中链接的好处 但假设我们有以下情况 Mail new MailClass mail gt SetFrom X gt SetTo X gt SetSubject X gt AddRecipient X gt AddRecipi
  • 请求正文为空

    我生成了两个项目 一个使用 create react app 另一个使用 Express 生成器 我运行第一个localhost 3000第二个是localhost 3001 我正在尝试发送 POST 请求 但收到一个空的请求req bod
  • Java 中的 main 方法可以返回一些东西吗?

    我最近参加了一次面试 他们问了我两个关于 Java 核心的问题 Q 1 我们可以编写一个java类吗 public static int main String args System out println Hello 我回答 不 编译器
  • onTouchEvent 中的 CoordinatorLayout NullPointerException

    我正进入 状态NullPointerException in onTouchEvent of CoordinatorLayout 我在用DrawerLayout with CollapsingToolbarLayoutandroid支持Ap
  • 测试浏览器中对 Overflow-y:auto 的支持

    我想测试浏览器是否支持特定的 css 属性 对于 css 属性 我可以这样做 var overflowSupport document createElement detect style overflow y 但是如果我必须检查特定的类或
  • 如何将 ssh 作业发送到后台

    我通过 ssh 登录到远程服务器并启动了一个 php 脚本 看起来需要 17 个小时才能完成 有没有办法断开连接但保持脚本执行 我没有进行任何输出重定向 所以我看到了所有输出 您现在可以停止该过程吗 如果是这样 启动screen http
  • Powershell - Outlook 将所有邮件标记为已读然后删除

    试图解决这个问题时遇到一些问题 由于某种原因 我的脚本无法正常工作 它应该将收件箱文件夹中的所有邮件标记为已读 然后删除它们 但是 当脚本运行时 它只会删除 count emails 显示的一半 怎么解决这个问题 我是不是做错了什么 out
  • 向 Google Visualization LineChart 添加一个垂直线标记,当鼠标移动时该标记也会移动?

    是否可以在 LineChart 上显示垂直线标记 显示当前 x 轴值 并在鼠标移动时移动 提前致谢 虽然这在以前很困难 但最近 API 的更新使其变得更加容易 您需要使用鼠标悬停事件处理程序来获取鼠标坐标 并使用新的 ChartLayout
  • 在 haskell 中定义一个新的 monad 不会引发 Applicative 的实例

    我正在尝试定义一个新的 monad 但遇到了一个奇怪的错误 纽莫纳德 hs newtype Wrapped a Wrap unwrap a instance Monad Wrapped where gt gt Wrap x f f x re
  • ASP.NET MVC 通过文件/文件路径确定 mime 类型

    我正在使用 ASP NET MVC 3 该应用程序的目标是 net 4 0 我试图将虚拟路径作为参数传递给控制器 的操作并返回文件 而不检查服务器上的实际物理路径并提供基本授权 不幸的是 我无法找到合适的 File 方法重载来生成适当的 A
  • Plotly-R:如何制作有间隙的 y 轴?

    Is it possible to create a plotly bar chart e g any chart from the following website https plotly com r bar charts https