在 plotly R 中映射标记大小时出现虚假警告
spurious warning when mapping marker size in plotly R
简单散点图有第三个变量映射到 marker/point 大小。该图对我来说看起来很完美,但它会发出有关多个值的警告。每个 x & y 值恰好有一个 size 值。
除了抑制警告之外,是否可以重新指定此图使其不引发警告?
Warning message:
`line.width` does not currently support multiple values.
代码:
plotly::plot_ly(
data = iris,
x = ~Sepal.Length,
y = ~Petal.Length,
size = ~Sepal.Width,
type = 'scatter',
mode = 'markers'
)
图表:
注:这可能与Plotly R - error "`line.width` does not currently support multiple values." or Scatter mapbox in shiny R will not render有关,但是那些问题动人的部分比较多,所以我不知道这是否是他们的核心问题。
上发布了这个问题
我主要在 Python 中使用 Plotly,所以我不确定细节,但大小是 Plotly 中许多东西的 属性。我猜想通过在该级别设置 size = ~Sepal.Width
,库无法知道您想要设置标记大小。
plotly::plot_ly(
data = iris,
x = ~Sepal.Length,
y = ~Petal.Length,
type = 'scatter',
mode = 'markers',
marker = list(
size = ~Sepal.Width*3
)
)
这对我有用,由于某种原因,这些点变小了很多,但缩放它们效果很好。
我也遇到了同样的问题。按照此处的建议查看 github 页面:https://www.reddit.com/r/RStudio/comments/9xq4gv/plotly_api_error_client_error_400_bad_request/,并搜索错误,将我带到生成它的代码:
# if fill does not exist, `size` controls line.width
if (!has_fill(trace) && has_attr(type, "line")) {
s <- if (isSingular) size_ else if (array_ok(attrs$line$width)) sizes else NA
if (is.na(s)) {
warning("`line.width` does not currently support multiple values.", call. =
FALSE)
} else {
trace[["line"]] <- modify_list(list(width = default(s)), trace[["line"]])
}
}
参数fill默认为“none”。将其设置为空字符串,并在标记中设置
sizemode = ~diameter
对我有用:
plotly::plot_ly(
data = iris,
x = ~Sepal.Length,
y = ~Petal.Length,
type = 'scatter',
mode = 'markers',
size = ~Sepal.Width,
fill = ~'',
marker = list(sizemode = 'diameter'))
简单散点图有第三个变量映射到 marker/point 大小。该图对我来说看起来很完美,但它会发出有关多个值的警告。每个 x & y 值恰好有一个 size 值。
除了抑制警告之外,是否可以重新指定此图使其不引发警告?
Warning message: `line.width` does not currently support multiple values.
代码:
plotly::plot_ly(
data = iris,
x = ~Sepal.Length,
y = ~Petal.Length,
size = ~Sepal.Width,
type = 'scatter',
mode = 'markers'
)
图表:
注:这可能与Plotly R - error "`line.width` does not currently support multiple values." or Scatter mapbox in shiny R will not render有关,但是那些问题动人的部分比较多,所以我不知道这是否是他们的核心问题。
上发布了这个问题我主要在 Python 中使用 Plotly,所以我不确定细节,但大小是 Plotly 中许多东西的 属性。我猜想通过在该级别设置 size = ~Sepal.Width
,库无法知道您想要设置标记大小。
plotly::plot_ly(
data = iris,
x = ~Sepal.Length,
y = ~Petal.Length,
type = 'scatter',
mode = 'markers',
marker = list(
size = ~Sepal.Width*3
)
)
这对我有用,由于某种原因,这些点变小了很多,但缩放它们效果很好。
我也遇到了同样的问题。按照此处的建议查看 github 页面:https://www.reddit.com/r/RStudio/comments/9xq4gv/plotly_api_error_client_error_400_bad_request/,并搜索错误,将我带到生成它的代码:
# if fill does not exist, `size` controls line.width
if (!has_fill(trace) && has_attr(type, "line")) {
s <- if (isSingular) size_ else if (array_ok(attrs$line$width)) sizes else NA
if (is.na(s)) {
warning("`line.width` does not currently support multiple values.", call. =
FALSE)
} else {
trace[["line"]] <- modify_list(list(width = default(s)), trace[["line"]])
}
}
参数fill默认为“none”。将其设置为空字符串,并在标记中设置 sizemode = ~diameter
对我有用:
plotly::plot_ly(
data = iris,
x = ~Sepal.Length,
y = ~Petal.Length,
type = 'scatter',
mode = 'markers',
size = ~Sepal.Width,
fill = ~'',
marker = list(sizemode = 'diameter'))