R Plotly ggplot堆叠条形图在单击图例时消失
我不知道为什么,但当单击图例时,我的堆叠条形图将消失,而不是落在轴上。我附上了从plotly网站复制的示例的屏幕截图,代码如下:R Plotly ggplot堆叠条形图在单击图例时消失,r,ggplot2,shiny,plotly,R,Ggplot2,Shiny,Plotly,我不知道为什么,但当单击图例时,我的堆叠条形图将消失,而不是落在轴上。我附上了从plotly网站复制的示例的屏幕截图,代码如下: library(plotly) DF <- read.table(text="Rank F1 F2 F3 1 500 250 50 2 400 100 30 3 300 155 100 4 200 90 10", header=TRUE) library(reshape
library(plotly)
DF <- read.table(text="Rank F1 F2 F3
1 500 250 50
2 400 100 30
3 300 155 100
4 200 90 10", header=TRUE)
library(reshape2)
DF1 <- melt(DF, id.var="Rank")
p <- ggplot(DF1, aes(x = Rank, y = value, fill = variable)) +
geom_bar(stat = "identity")
p <- ggplotly(p)
library(plotly)
DF您可以直接使用plotly API,而不是ggplotly,这样它就可以按预期工作:
plot_ly(DF1) %>%
add_bars(~Rank, ~value, color=~variable) %>%
layout(barmode = 'stack')
如果还需要在R Markdonw文档中嵌入静态版本的绘图,可以使用export()
函数创建静态版本:
---
title: "Untitled"
output: word_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## R Markdown
Here's a barchart:
```{r chart}
library(plotly)
library(reshape2)
DF <- read.table(text="Rank F1 F2 F3
1 500 250 50
2 400 100 30
3 300 155 100
4 200 90 10", header=TRUE)
DF1 <- melt(DF, id.var="Rank")
p = plot_ly(DF1) %>%
add_bars(~Rank, ~value, color=~variable) %>%
layout(barmode = 'stack')
export(p)
```
---
标题:“无标题”
输出:word\u文档
---
```{r设置,include=FALSE}
knitr::opts_chunk$set(echo=TRUE)
```
##降价
这是一张条形图:
```{r图}
图书馆(绘本)
图书馆(E2)
DF%
布局(barmode='stack')
出口(p)
```
我可以知道使用ggplotly和plotly API的区别吗?我需要使用ggplot,因为我也在rmarkdown中渲染图表。但是如果我只使用plot,我将无法在rmarkdown中渲染它。有没有办法用ggplotly解决这个问题?你能添加一个mardown文档的示例(和导出类型-即pdf或html等)吗。通常,您可以使用export()
以其他文档类型呈现plotly图形。对于html输出,可以嵌入交互式plotly图表-请参见我将markdown文档导出为.docx格式(非交互式)。但我似乎无法传入绘图图表并将其作为静态图像输出。所以我必须依靠ggplot来做到这一点。在这种情况下,您建议我如何在选择图例时解决缺少的堆叠条形图?正如我在前面的评论中所说,您可以使用export
将其嵌入到标记文档中。请参阅编辑以获得更详细的解释我尝试了使用您建议的导出方法,但似乎仍然无法在word文档中将绘图图表导出为.png。此外,保存文档所需的时间比使用ggplot要长得多。你知道为什么会这样吗?