簡體   English   中英

如何使用R-Plotly更改顏色條的色階?

[英]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”。

顏色欄應匹配指定的色標=“熱”,但仍顯示“ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM