[英]How can I change colorscale for colorbar with R-Plotly?
我试图用颜色作为我的第三维来创建一个散点图。 我可以根据自己的喜好更改色标,但无法更改色标以匹配散点图的色标(即使我指定了colorscale =“ Hot”,色标仍为“ Viridis”)。
library(plotly)
data = iris
p = plot_ly(data,
x=~ Sepal.Length,
y=~ Sepal.Width,
type = 'scatter',
mode = 'markers',
marker = list(
size=10,
opacity=.9,
colorscale='Hot'),
color=~Petal.Length)
colorbar(p)
我希望颜色条与指定的色标匹配,但它仍为“ Viridis”。
我不是一个绘图专家,所以我不确定潜在的问题,但是我可以通过在marker=
参数内移动color=
和colorbar=
定义来解决此问题:
plot_ly(data,
x=~ Sepal.Length,
y=~ Sepal.Width,
type = 'scatter',
mode = 'markers',
marker = list(
color=~Petal.Length,
size=10,
opacity=.9,
colorscale='Hot',
colorbar=list(
title='Colorbar'
)
)
)
或者,如果您使用colors=
参数而不是colorscale=
来定义色标,它将按预期工作。 缺点是您必须使用:
colorbrewer2.org调色板名称(例如“ YlOrRd”或“ Blues”),或以十六进制“ #RRGGBB”格式插值的颜色向量,或诸如colorRamp()的颜色插值函数
p = plot_ly(data,
x=~ Sepal.Length,
y=~ Sepal.Width,
type = 'scatter',
mode = 'markers',
marker = list(
size=10,
opacity=.9),
color=~Petal.Length,
colors = 'Blues'
)
colorbar(p)
'Blues'
是一个色彩提升秤。 您还可以使用viridis
软件包中的色标(请参阅?viridisLite::viridis
),例如:
# note that you need to provide an n= argument >= the number of colors needed
viridis::inferno(99)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.