标签: ggplotly

将垂直线添加到ggplotly图

我正在尝试建立一个结合ggplot2和的情节plotly。两条垂直线出现在纯ggplot2上,但是一旦我调用plotly::ggplotly它,它们就会消失。如何使数据也出现在ggplotly版本上?如果您有一个仅使用的解决方案plot_ly,那也可以。

数据:

df <- structure(list(date = structure(c(17226, 17257, 17287, 17318, 
17348, 17379, 17410, 17440, 17471, 17501, 17226, 17257, 17287, 
17318, 17348, 17379, 17410, 17440, 17471, 17501, 17226, 17257, 
17287, 17318, 17348, 17379, 17410, 17440, 17471, 17501), class = "Date"), 
    n = c(253L, 217L, 257L, 166L, 121L, 56L, 68L, 62L, 142L, 
    20L, 174L, 228L, 180L, 158L, 80L, 39L, 47L, 54L, 107L, 12L, 
    93L, 74L, 47L, 49L, 55L, 16L, 52L, 53L, 32L, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 plotly ggplotly

5
推荐指数
1
解决办法
779
查看次数

格式化悬停数据标签Plotly R

我试图格式化当我将鼠标悬停在使用Plotly创建的图表的一部分上时出现的数据标签。标签目前正以这种方式显示。我希望标签仅显示利润。

我创建情节的代码是:

output$monthlyProfits <- renderPlotly({
ggplot(profitTemp, aes(x = Date, y = Profit)) + geom_line(aes(text=Profit), 
colour = "Blue") 
Run Code Online (Sandbox Code Playgroud)

如何设置数据标签的格式,使其不显示X轴,而仅显示Y轴(利润)?我尝试过,aes(text=Profit)但X轴仍然显示。

任何帮助将不胜感激。

r ggplotly r-plotly

5
推荐指数
1
解决办法
2133
查看次数

ggplotly - 仅在某些几何对象上返回工具提示悬停文本

我正在绘制一个条形图 geom,上面有一个点 geom,如下所示:

plot_1 <- ggplot(results, aes(x=date, y = data, question_text=question_text,
                    val1 = val1)) + 
  geom_bar(stat = "identity", position = "dodge", aes(fill = Party)) +
  geom_point(data=results, aes(x=date, y=math*.01), colour="blue", group = 1) 
Run Code Online (Sandbox Code Playgroud)

然后我像这样调用 ggplotly 命令和覆盖工具提示

ggplotly(plot_1, tooltip=c("question_text", "val1"))
Run Code Online (Sandbox Code Playgroud)

但是,这使得每当我将鼠标放在 geom_point 或 geom_bar 上时,都会弹出工具提示。如何使工具提示仅在条形图上重叠时弹出?

r ggplot2 ggplotly

5
推荐指数
1
解决办法
1453
查看次数

如何在带有ggplotly()的闪亮应用程序中使用plotlyProxy()以使绘图更快地渲染

我一直在寻找一个与此相关的问题,但是我还没有看到任何问题ggplotly()。该图基于用户selectInput()下拉菜单是反应式的。一切正常,但是当我单击下拉菜单中的新参数时,绘制图形需要很长时间。通过调查,我发现了这篇文章,“ 改进ggplotly转换”,这解释了为什么绘图需要很长时间才能呈现(我有很多数据)。在网站上说使用plotlyProxy()。但是,我很难将其实现到我的代码中。更具体地说,我不了解如何使用plotlyProxyInvoke()必须与之配合使用的功能。我将不胜感激任何指导!

样本数据:

  df<-structure(list(stdate = structure(c(17694, 14581, 14162, 14222, 
    17368, 16134, 17414, 13572, 17613, 15903, 14019, 12457, 15424, 
    13802, 12655, 14019, 16143, 17191, 13903, 12362, 12929, 13557, 
    16758, 13025, 15493, 16674, 15959, 15190, 16386, 11515, 12640, 
    15295, 15664, 15145, 17077, 14914, 14395, 14992, 13271, 12730
    ), class = "Date"), sttime = structure(c(35460, 42360, 32880, 
    30600, 26760, 45000, 36000, 32700, 39000, 35460, 34200, 28800, 
    26400, 33900, 39600, 29280, 34500, 28920, 31320, 34800, …
Run Code Online (Sandbox Code Playgroud)

r plotly ggplotly r-plotly

5
推荐指数
1
解决办法
312
查看次数

将 ggplot2 转换为 ggplotly 时缺少 geom_rect

我试图把一个ggplotly图形与(三大要素geom_pointgeom_linegeom_rect),它看起来罚款ggplot2。但是,当我转换为 ggplotly 时,geom_rect 消失了。我在想这与inherit.aes功能有关吗?

构建测试数据的代码如下。

library(ggplot2)
library(plotly)

dates_seq = seq.Date(as.Date("2019-03-13"), as.Date("2019-04-21"), by = "1 day")
df = data.frame(ds = dates_seq,
                y = rnorm(length(dates_seq), mean = 50, sd = 5),
                yhat = rnorm(length(dates_seq), mean = 50, sd = 5)
                )
df$yhat_lower = df$yhat - 5
df$yhat_upper = df$yhat + 5

gg <- ggplot(df, aes(x = ds, y = y)) +
    labs(x = 'Date', y = 'Sales') +
      geom_ribbon(aes(ymin = …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 plotly ggplotly

5
推荐指数
1
解决办法
464
查看次数

python的ggplotly函数

其中R有一个函数 ( ggplotly),可将ggplot2绘图转换为plotly图形。在python您必须plotnine使用ggplot,但是否有类似的转换器ggplotly

有一个类似的问题,但询问的是旧的(我认为已弃用的)python 库,因此我认为我的问题是相关的。

ggplot2 plotly plotnine ggplotly

5
推荐指数
0
解决办法
214
查看次数

如何在ggplotly中使工具提示文本中的超链接可访问?

我想在 ggplotly 的工具提示文本中创建一个可点击的超链接。超链接似乎出现在工具提示中,但无法单击。在我点击之前,工具提示消失了。如何让工具提示出现足够长的时间让我点击超链接?

这是我的意思的一个例子:

mtcars$hyperlink <- "<a href='https://plot.ly/ggplot2/'>plotly ggplot2 website</a>"
p <- ggplot(mtcars, aes(wt, mpg, text = hyperlink)) + 
  geom_point()
ggplotly(p)
Run Code Online (Sandbox Code Playgroud)

您会注意到不可点击的超链接。有没有人知道如何解决这个问题?

r ggplot2 plotly htmlwidgets ggplotly

5
推荐指数
1
解决办法
125
查看次数

ggplotly 和 facet_wrap 的 X 轴错误

我正在尝试使用 ggplotly 和 facet_wrap 创建条形图。但是,第二个和第三个子图的 x 轴看起来很奇怪。下面是我的代码:

library(plotly)
library(ggplot2)
library(dplyr)

setInfo<- data.frame(sampleNumber=rep(c("A","B","C"),4),
                     Category=rep(c("Class 1", "Class 2","Class 3"),4),
                     Value=rep(1,12))

setInfo %>% 
  ggplot(aes(sampleNumber,fill = sampleNumber))+
  geom_bar()+
  facet_wrap(~Category,nrow = 1,scales = "free_x")->plot_this

ggplotly(plot_this)
Run Code Online (Sandbox Code Playgroud)

r ggplot2 plotly ggplotly

5
推荐指数
1
解决办法
120
查看次数

ggplotly/plotly 中的长 facet_wrap 标签与 facet 的 strip.background 重叠

我有一个像下面这样的图,我需要在其中显示一个图标题和一些长的方面标签。在ggplot2,它看起来很好。

代表:

library(ggplot2)
library(stringr)
library(plotly)

iris$Species2 <- paste(iris$Species, "... some text to make the label really long and hard to put on a facet label")
iris$Species2 <- str_wrap(iris$Species2, 20)

g <- ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Species)) +
  geom_point() +
  labs(title = "This title isn't helping anyone") + 
  facet_wrap(~Species2)

g
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

但是,转换为动态图并没有按预期工作......刻面标签被切断并进入标题:

gp <- ggplotly(g)
gp
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

之前有一个关于 this 的 SO question,但看起来 OP 没有尝试答案 - 没有人发现建议的答案没有按预期工作。

plotly当涉及到方面时,我对奇怪的行为并不陌生- 请参阅github 上的对话,但我不太了解plotly修改对象以强制它具有更长的 strip.background。

希望有人可以帮助我修改对象gp …

r ggplot2 facet-wrap ggplotly r-plotly

5
推荐指数
1
解决办法
1071
查看次数

使用按时间范围过滤的共享数据创建交互式条形图

我想创建一个交互式条形图,让用户可以根据一系列值过滤观察结果,然后动态呈现所选时间段内每个类的计数。由于过滤后的数据需要可用于许多这样的图表,我认为串扰plotly/ggplot的组合可能会证明是有价值的。

我在下面附加了一个 reprex,它使用共享数据和来自串扰的过滤功能来允许动态过滤部分。当我编织文档时,只要选择了全部范围的值(默认值),条形图就会很好地呈现。

满的

但是,绘图区域对于任何其他区域都为空,即。用户调整范围。

部分的

我到底错过了什么?我认为ggplotly()无法处理的完整共享数据集和过滤共享数据集之间一定存在差异。也许我可以遵循另一种方法来实现我的目标?

这是我的 .Rmd 文件的内容:

---
title: mpg class counts filtered by time period
output: html_document
---

```{r echo = FALSE, message = FALSE, warning = FALSE}
library(crosstalk)
library(plotly)

# Wrap data frame in SharedData
sd = SharedData$new(mpg)

# Create a filter input
filter_slider("Year", "Year", sd, column = ~ year, step = 1, width = 250)

# Render graph
bscols(
  ggplotly(
    ggplot(aes(x = class), data = sd) + 
      geom_bar() …
Run Code Online (Sandbox Code Playgroud)

visualization r ggplotly r-plotly crosstalk

5
推荐指数
1
解决办法
889
查看次数