如何通过任何类别变量绘制阴影气泡图

时间:2016-02-04 06:30:46

标签: r plot

我的数据设置如下,并存储在数据框dt

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)

但它没有正确显示气泡图。

1 个答案:

答案 0 :(得分: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()

希望这有帮助。