【问题标题】:Border around r dygraphs plotr dygraphs 图周围的边框
【发布时间】:2015-10-19 21:34:35
【问题描述】:

我想在我的整个 dygraphs 图周围有一个边框,包括标题、轴标签、图例等。搜索后,我想我应该可以使用 underlayCallback 选项来执行此操作,但我找不到例如,我对 dygraphs 很陌生。谁能指出我错过的一个例子,或者为我提供一些通用代码来绘制边界?我有一些用 ggplot2(非交互式)绘制的图,并希望我的 dygraphs 看起来相似。非常感谢!

【问题讨论】:

  • 欢迎来到 SO!如果您提供工作源代码来生成 dygraph 图(甚至是基本图),这对其他人(不一定是可以帮助您的人)会有所帮助。这样,即使是帮助您的人也不必从头开始生成一个。这是more info 提供可重现的示例。
  • @hrbrmstr 谢谢。我通常会尝试这样做,但认为这可能是一个超级基本的问题,更“精通艺术”的人会很方便。
  • 罗杰。我另外指出,因为有些人使用回答问题来学习如何在 R 中编码(这是我编辑问题的原因之一:让他们更容易复制/粘贴工作代码)。我同意你最终只会粘贴 3 行代码,也许还有一张图片;-)
  • @hrbrmstr 为正在搜索的其他人提供一个很好的例子是一个很好的观点。以后会做的。

标签: r dygraphs


【解决方案1】:

您可以为此使用 CSS:

library(dygraphs)

lungDeaths <- cbind(mdeaths, fdeaths)
writeLines("div[id^='htmlwidget_container'] { border:1px solid black; padding:10px}", 
           "my.css")
dygraph(lungDeaths, main="Title", xlab="X", ylab="Y") %>% 
  dyCSS("my.css") %>% 
  dyCallbacks(underlayCallback=JS("function(ctx, area, dygraph) {
                         ctx.strokeStyle = 'black';
                         ctx.strokeRect(area.x, area.y, area.w, area.h);
                     }"))

【讨论】:

  • 感谢您的解决方案 - 像冠军一样工作!我为您的回答 +1,但没有足够的声望点来显示它。另外两个问题:(1)我没有将“边框”视为 dygraphs CSS 选项,否则我会尝试它。我是在什么地方错过了它,还是……? (2) 我什至不知道我可以这样写到我的 CSS 中。但是,它似乎覆盖了那里的所有其他内容:(我能做些什么来避免这种情况?再次感谢!
  • 啊,如果您有一个现有的 CSS 文件,只需将该 CSS 规则添加到其中即可。它使用标准 CSS 样式规则定位 div(border 是许多 DOM 对象的属性)。
  • 另外...关闭图形本身的边框怎么样(添加到 x 和 y 轴以创建一个完整的框?)或者 - 我是否需要为此创建一个单独的问题?
  • 不,那是 gd q。不幸的是,那些不是&lt;div&gt; 带有简单半完成边框的元素。 X 和 Y 轴是用d3.svg.axis() 制作的,所以它们实际上是 SVG 线。您必须进行一些严重的 dygraph SVG 手术后才能添加顶部和右侧的线条。
  • 我很高兴我问了,而不是花费无数小时搜索!我将尝试将背景着色为灰色 - 我想我看到了一些参考资料。再次感谢您的所有帮助和指点。尤其是这么快!
猜你喜欢
  • 1970-01-01
  • 2011-06-08
  • 2021-12-29
  • 1970-01-01
  • 1970-01-01
  • 2011-08-22
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多