如何调整 plotly 标记颜色以匹配 R 中的有序类别?
How to adjust plotly marker colors to match ordered categories in R?
在 R 中使用 plotly,我希望类别按照歌曲的顺序使用不同的颜色(最好由我预先选择)。这是我尝试过的:
salesplot <-plot_ly(producersales, type="scatter", x=Producer, y=SalesPerSong, color=c('20+ songs', '11 songs','8-10 songs','5-7 songs', '3-4 songs', '2 songs'), size=SalesPerSong, mode="markers")
## Sample of my data
head(producersales)
Producer NoOfSongs TotalSales SalesPerSong SongRange
1 Timbaland 24 3446852 143619 20+ songs
2 Just Blaze 23 3134585 136286 20+ songs
3 Kanye West 20 3338410 166920 20+ songs
4 Jerome "J-Roc" Harmon 11 1165000 105909 11 songs
5 The Neptunes 11 1419877 129080 11 songs
6 No I.D. 9 1437008 159668 8-10 songs
问题是当我打印销售图时,所有标记都是一种颜色(2 首歌曲)。另外,如果我尝试使用 color=SongRange,则图例的顺序不符合我的需要。
您在找这样的东西吗?
#order factor like you want
producersales$SongRange <- factor(producersales$SongRange ,
levels = c("8-10songs", "11songs", "20+songs"))
#select colour you want
cols <- c("red", "blue", "black")
#plot
salesplot <- plot_ly(producersales,
type = "scatter",
x = Producer,
y = SalesPerSong,
color = SongRange,
colors = cols,
mode = "markers")
salesplot
在 R 中使用 plotly,我希望类别按照歌曲的顺序使用不同的颜色(最好由我预先选择)。这是我尝试过的:
salesplot <-plot_ly(producersales, type="scatter", x=Producer, y=SalesPerSong, color=c('20+ songs', '11 songs','8-10 songs','5-7 songs', '3-4 songs', '2 songs'), size=SalesPerSong, mode="markers")
## Sample of my data
head(producersales)
Producer NoOfSongs TotalSales SalesPerSong SongRange
1 Timbaland 24 3446852 143619 20+ songs
2 Just Blaze 23 3134585 136286 20+ songs
3 Kanye West 20 3338410 166920 20+ songs
4 Jerome "J-Roc" Harmon 11 1165000 105909 11 songs
5 The Neptunes 11 1419877 129080 11 songs
6 No I.D. 9 1437008 159668 8-10 songs
问题是当我打印销售图时,所有标记都是一种颜色(2 首歌曲)。另外,如果我尝试使用 color=SongRange,则图例的顺序不符合我的需要。
您在找这样的东西吗?
#order factor like you want
producersales$SongRange <- factor(producersales$SongRange ,
levels = c("8-10songs", "11songs", "20+songs"))
#select colour you want
cols <- c("red", "blue", "black")
#plot
salesplot <- plot_ly(producersales,
type = "scatter",
x = Producer,
y = SalesPerSong,
color = SongRange,
colors = cols,
mode = "markers")
salesplot