向 plot_ly 标记添加分类颜色会反转显示点的大小
Adding a categorical color to plot_ly markers invert the size of the points displayed
我正在尝试用 plotly
绘制一个图,其颜色代表一些 class(在我的示例中为因子 ff
),大小代表人口规模(列 ss
在我的例子中)。使用恒定颜色绘图可以使图形正常,即点的大小具有代表性。但是,如果我将 color=~ff
参数添加到调用中,显示的大小会发生变化并且看起来是倒置的!
这是一个回复:
# preparing the session and data:
library(plotly)
dd <- data.frame(
xx = rnorm(10),
yy = rnorm(10),
ff = as.factor(c("a","b","c","a","b","c","a","a","b","c")),
ss = round(runif(10, 100,1000))
)
没有颜色参数的第一个图:
pp1 <- plot_ly(data = dd,
x = ~xx,
y = ~yy,
marker = list(sizeref = mean(dd$ss)/25,
size= ~ss ,
sizemode= "diameter",
mode = "markers")
)
add_markers(pp1,mode = "markers")
注意:我设置 sizeref
的方式可能看起来很奇怪,但这是我发现在我的真实代码中使我的尺寸漂亮的唯一方法,因为人口规模变化很大。我觉得这会导致我的问题,但可能所以我决定将其保留在我的示例中
这给出:
现在,当我添加 color
参数时:
pp2 <- plot_ly(data = dd,
x = ~xx,
y = ~yy,
color = ~ff, #### !!! The only line difference
marker = list(sizeref = mean(dd$ss)/25,
size= ~ss ,
sizemode= "diameter",
mode = "markers")
)
add_markers(pp2,mode = "markers")
给出:
颜色还可以,但尺寸变了,好像倒过来了。
知道我做错了什么吗?难道 sizeref
参数然后被类别 ff
应用?如果是,如何处理?
我不确定你是如何设置 sizeref 的,但你试过这个吗:
plot_ly(data = dd, x = ~xx, y = ~yy, color = ~ff, size= ~ss) %>%
add_markers(marker = list(sizeref = 3, sizemode= "diameter"))
我正在尝试用 plotly
绘制一个图,其颜色代表一些 class(在我的示例中为因子 ff
),大小代表人口规模(列 ss
在我的例子中)。使用恒定颜色绘图可以使图形正常,即点的大小具有代表性。但是,如果我将 color=~ff
参数添加到调用中,显示的大小会发生变化并且看起来是倒置的!
这是一个回复:
# preparing the session and data:
library(plotly)
dd <- data.frame(
xx = rnorm(10),
yy = rnorm(10),
ff = as.factor(c("a","b","c","a","b","c","a","a","b","c")),
ss = round(runif(10, 100,1000))
)
没有颜色参数的第一个图:
pp1 <- plot_ly(data = dd,
x = ~xx,
y = ~yy,
marker = list(sizeref = mean(dd$ss)/25,
size= ~ss ,
sizemode= "diameter",
mode = "markers")
)
add_markers(pp1,mode = "markers")
注意:我设置 sizeref
的方式可能看起来很奇怪,但这是我发现在我的真实代码中使我的尺寸漂亮的唯一方法,因为人口规模变化很大。我觉得这会导致我的问题,但可能所以我决定将其保留在我的示例中
这给出:
现在,当我添加 color
参数时:
pp2 <- plot_ly(data = dd,
x = ~xx,
y = ~yy,
color = ~ff, #### !!! The only line difference
marker = list(sizeref = mean(dd$ss)/25,
size= ~ss ,
sizemode= "diameter",
mode = "markers")
)
add_markers(pp2,mode = "markers")
给出:
颜色还可以,但尺寸变了,好像倒过来了。
知道我做错了什么吗?难道 sizeref
参数然后被类别 ff
应用?如果是,如何处理?
我不确定你是如何设置 sizeref 的,但你试过这个吗:
plot_ly(data = dd, x = ~xx, y = ~yy, color = ~ff, size= ~ss) %>%
add_markers(marker = list(sizeref = 3, sizemode= "diameter"))