2016-02-04 49 views
1

我有如下所示進行設置,並存儲在數據幀dt如何plotly顏色泡沫圖表通過任何類別變量

dt = data.frame(category=c("A","B","C"),X=c(1,2,3),Y=c(3,4,5)) 

數據並正嘗試如下使用plotly繪製氣泡圖表和由

類別顏色故
library(plotly) 
plot_ly(dt, x =X, y = Y, size = X, mode = "markers",color = category) 

但它沒有顯示正確的氣泡圖。

+0

我想你不能將顏色映射到字符,這是'category'的內容。這一個'plot_ly(dt,x = X,y = Y,size = X,mode =「markers」,color = as.numeric(category))'起作用。 –

+0

但是,在Plotly中,我們對樣本進行了頁面顯示,並且顯示了包含字符類型數據的圖形。請參閱:http://help.plot.ly/make-a-bubble-chart/ –

+0

請參閱:http://help.plot.ly/make-a-bubble-chart/ –

回答

0

我認爲這是一個錯誤,我相信在Plotly的人是在它的工作。見here

我認爲這與在x軸和獨特的尺寸值的數量正在顯示的獨特點的數量有關。請參閱下面的插圖。

  • 第一個例子有10分,但10個獨特的尺寸以及
  • 第二個例子有10分,但只有5個獨特的尺寸

set.seed(123) 

# This doesn't work 
N<- 10 
dt <- data.frame(category = sample(LETTERS, size = N, replace = T), 
       X = 1:N, 
       Y = 1:N) 

plot_ly(dt, x = X, y = Y, color = category, mode = "markers", size = X) 

# But this works 
N<- 10 
dt <- data.frame(category = sample(LETTERS, size = N/2, replace = T), 
       X = 1:N, 
       Y = 1:N) 

plot_ly(dt, x = X, y = Y, color = category, mode = "markers", size = X) 

對於你的榜樣,你可以嘗試使用ggplotly()代替:

dt = data.frame(category=c("A","B","C"),X=c(1,2,3),Y=c(3,4,5)) 
ggplot(dt, aes(X, Y, size = X, color = category)) + geom_point() 
ggplotly() 

希望這有助於。