2016-12-14 92 views
2

所以我渲染堆疊面積情節與ggplotly,這就是顯示出來的問題使用這種方法:ggplotly渲染由於太多的數據點

library(data.table) 
library(ggplot2) 
library(plotly) 

Values1 <- rep(10, 10) 
Values2 <- rep(20, 10) 
X <- rep(seq(1, 10),2) 
df <- data.frame(Values1=Values1, Values2=Values2) 
df <- melt(df) 
df2 <- data.frame(X=X, Label=df$variable, Value=df$value) 

Plot <- ggplot(data=df2, aes(x=X, y=Value, fill=Label, text = paste("Value:", Value))) + 
geom_area(position='stack') 
ggplotly(Plot, tooltip = c("text", "x", "fill")) 

此示例代碼顯然不會重現該問題,而只是說明如何我在我自己的提示值強迫。我的實際數據在堆積面積圖中有9500個數據點。當我刪除自定義文本工具提示時,它繪製得很好。工具提示仍然在圖表中,我可以告訴所有事情都應該在哪裏,這些區域沒有正確填充。

有什麼辦法解決這個問題?代碼會暫停一段時間,所以我認爲這不是我的電腦的圖形問題,而是陰謀中的實際渲染過程的問題。

編輯:

我的問題縮小到text = paste("Value:", Value)。如果我將代碼修改爲text=Value,則呈現效果良好。

的問題是,現在的提示看起來愚蠢的,因爲它會讀取:

_value_ 
X: _X_ 
Label: _label_ 

時,我想它改爲:

Value: _value_ 
X: _x_ 
Label: _label_ 

任何人都知道如何解決這一問題?

編輯2:仍然沒有解決問題的方法。

回答

0

結果ggplot2內置了geom_text()的標籤功能,可以更有效地利用它。

Plot <- ggplot(data=df2, aes(x=X, y=Value, fill=Label, label = paste("Value:", Value))) + 
geom_area(position='stack') 
ggplotly(Plot, tooltip = c("label", "x", "fill")) 

綜上所述,在aes()映射,更改textlabel,並在ggplotly()功能指定tooltip = "label"