Plotly scatterternary - 连续色彩美学的问题
Plotly scatterternary - problems with continuous color aesthetics
我在使用 plotly 在 R 中创建三元图时发现了一个问题。如果颜色美学是一个连续变量,则三元图似乎在背景中有一个二元图。离散的颜色美学似乎效果很好。有人知道解决方法吗?
library(tidyverse)
library(plotly)
# Make a dataframe
df<-data.frame(ID = 1:6,
ID2 = c(rep("B14",4),"B16","B16"),
Location = c(40.9,96,120,308.5,322,420),
Classifier = c(rep("A",3),rep("B",3)),
A = c(0.06,0.06,0.02,0.02,0.01,0.01),
B = c(0.04,0.01,0.03,0.04,0.02,0.06),
C= c(0.26,0.06,0.43,0.35,0.29,0.74),
X = c(363,696,757,1650,609,392)
)
具有离散颜色的三元示例
# Colours by discrete variable work fine
df %>%
plot_ly(
a = ~A,
b = ~B,
c = ~C,
text = ~ID,
color = ~Classifier,
colors = "Set1",
type = 'scatterternary',
mode = 'markers',
marker = list(
symbol ='circle',
opacity = 0.6,
size = 15
))
连续变量的颜色在三元背景中创建两个附加轴。
df %>%
plot_ly(
a = ~A,
b = ~B,
c = ~C,
text = ~ID,
color = ~X,
colors = "Spectral",
type = 'scatterternary',
mode = 'markers',
marker = list(
symbol ='circle',
opacity = 0.6,
size = 15
))
这不是修复 - 更多的是解决问题的掩码。您可以像这样隐藏 x 和 y 轴:
ax <- list(
title = "",
zeroline = FALSE,
showline = FALSE,
showticklabels = FALSE,
showgrid = FALSE
)
# use your df:
df %>%
plot_ly(
a = ~A,
b = ~B,
c = ~C,
text = ~ID,
color = ~X,
colors = "Spectral",
type = 'scatterternary',
mode = 'markers',
marker = list(
symbol ='circle',
opacity = 0.6,
size = 15
)) %>%
layout(xaxis = ax, yaxis = ax)
我在使用 plotly 在 R 中创建三元图时发现了一个问题。如果颜色美学是一个连续变量,则三元图似乎在背景中有一个二元图。离散的颜色美学似乎效果很好。有人知道解决方法吗?
library(tidyverse)
library(plotly)
# Make a dataframe
df<-data.frame(ID = 1:6,
ID2 = c(rep("B14",4),"B16","B16"),
Location = c(40.9,96,120,308.5,322,420),
Classifier = c(rep("A",3),rep("B",3)),
A = c(0.06,0.06,0.02,0.02,0.01,0.01),
B = c(0.04,0.01,0.03,0.04,0.02,0.06),
C= c(0.26,0.06,0.43,0.35,0.29,0.74),
X = c(363,696,757,1650,609,392)
)
具有离散颜色的三元示例
# Colours by discrete variable work fine
df %>%
plot_ly(
a = ~A,
b = ~B,
c = ~C,
text = ~ID,
color = ~Classifier,
colors = "Set1",
type = 'scatterternary',
mode = 'markers',
marker = list(
symbol ='circle',
opacity = 0.6,
size = 15
))
连续变量的颜色在三元背景中创建两个附加轴。
df %>%
plot_ly(
a = ~A,
b = ~B,
c = ~C,
text = ~ID,
color = ~X,
colors = "Spectral",
type = 'scatterternary',
mode = 'markers',
marker = list(
symbol ='circle',
opacity = 0.6,
size = 15
))
这不是修复 - 更多的是解决问题的掩码。您可以像这样隐藏 x 和 y 轴:
ax <- list(
title = "",
zeroline = FALSE,
showline = FALSE,
showticklabels = FALSE,
showgrid = FALSE
)
# use your df:
df %>%
plot_ly(
a = ~A,
b = ~B,
c = ~C,
text = ~ID,
color = ~X,
colors = "Spectral",
type = 'scatterternary',
mode = 'markers',
marker = list(
symbol ='circle',
opacity = 0.6,
size = 15
)) %>%
layout(xaxis = ax, yaxis = ax)