[英]Plotly colorbar with single observation
我正在嘗試繪制一個條形圖,其中條形圖基於第三個“概率”變量着色。 我想將顏色條設置為固定為0:100並繪制數據的不同子集。 一切都很好,直到我的子集只包含一個觀察,然后顏色不再跟隨顏色條。 也許有人可以指出我正確的方向? 例:
> data <- data.table(name = c("foo", "bar", "bar", "bar"), value = c(10, 15, 40, 35), probability = c(0.9, 0.4, 0.8, 0.3), id = c("one", "two", "three", "four"))
>
> data
name value probability id
1: foo 10 0.9 one
2: bar 15 0.4 two
3: bar 40 0.8 three
4: bar 35 0.3 four
>
> data1 <- data[name == "bar"]
> data2 <- data[name == "foo"]
>
> p1 <- plot_ly(data1,
+ x = ~value,
+ y = ~id,
+ type = "bar",
+ orientation = "h",
+ marker = list(color = ~(probability * 100), colorbar = list(title = "Probability", cmin = 0, cmax = 100))
+ )
>
> p2 <- plot_ly(data2,
+ x = ~value,
+ y = ~id,
+ type = "bar",
+ orientation = "h",
+ marker = list(color = ~(probability * 100), colorbar = list(title = "Probability", cmin = 0, cmax = 100))
+ )
>
> plotly::subplot(p1, p2)
這是結果圖:
我認為cmin
和cmax
是Marker
而不是Colorbar
屬性,所以改變了
marker = list(
color = ~(probability * 100),
colorbar = list(title = "Probability", cmin = 0, cmax = 100)
)
至
marker = list(
color = ~(probability * 100),
colorbar = list(title = "Probability"),
cmin = 0,
cmax = 100
)
應該管用。
你好陌生人,
我認為Vlizana建議實際上存在Rplotly的錯誤。 如果你只有一行傳說不能正常工作。 因此,如果在這些情況下添加新行,它將起作用。 如果行有NA而不是值,您將收到警告,但它不會出現在圖中。
實現此目的的代碼如下:
data <- data.table(name = c("foo", "bar", "bar", "bar"), value = c(10, 15, 40, 35), probability = c(0.9, 0.4, 0.8, 0.3), id = c("one", "two", "three", "four"))
data1 <- data[name == "bar"]
data2 <- data[name == "foo"]
if(nrow(data2)== 1){
add_data2 <- data2[2L]
add_data2[,1] <- "Delete"
data2 <- rbind(data2, add_data2)
}
p1 <- plot_ly(data1,
x = ~value,
y = ~id,
type = "bar",
orientation = "h",
marker = list(color = ~probability * 100 , colorbar = list(title = "Probability", cmin = 0, cmax = 100, cauto = F))
)
p2 <- plot_ly(data2,
x = ~value,
y = ~id,
type = "bar",
orientation = "h",
marker = list(color = ~probability * 100, colorbar = list(title = "Probability", cmin = 0, cmax = 100, cauto = F))
)
plotly::subplot(p1, p2)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.