[英]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.