如何使用十六进制字符串更改 plotly for r 饼图中切片的颜色?
How can I change the colors of the slices in pie charts in plotly for r using hexadecimal strings?
这是我目前的饼图:
library(plotly)
library(RColorBrewer)
P <- data.frame (labels = c("A", "B", "C", "D", "E"),
values = c(5, 8, 3, 4, 9))
plot_ly(P, labels = labels, values = values, type = "pie",
marker = list(colors=c("lightskyblue", "deepblue", "dodgerblue", "midnightblue", "powderblue")),
textinfo="value",
textposition="outside")
我想用十六进制字符串更改它的颜色,这样我就可以使用 RColorBrewer 的调色板。提前致谢!
只需将十六进制值放入字符串中,前面加上哈希(井号)#
。十六进制的前两位数字代表红色,接下来的 2 位数字代表绿色,然后 2 位数字代表蓝色 (#RRGGBB)。您可以选择为 alpha(透明度)添加额外的两位数字 (#RRGGBBAA)。
例如
plot_ly(P, labels = labels, values = values, type = "pie",
marker = list(colors=c("#556677", "#AA3344", "#772200",
"#11AA22", "#AA231B88")), # the last color has alpha value set.
textinfo="value",
textposition="outside")
探索RColorBrewer
包
library(RColorBrewer)
查看 RColorBrewer 包中的函数列表
ls("package:RColorBrewer")
# [1] "brewer.pal" "brewer.pal.info" "display.brewer.all"
# [4] "display.brewer.pal"
显示所有配色方案
display.brewer.all()
获取蓝调十六进制字符串
brewer.pal(9,"Blues")
# [1] "#F7FBFF" "#DEEBF7" "#C6DBEF" "#9ECAE1" "#6BAED6" "#4292C6" "#2171B5"
# [8] "#08519C" "#08306B"
brewer.pal(10,"Blues")
# [1] "#F7FBFF" "#DEEBF7" "#C6DBEF" "#9ECAE1" "#6BAED6" "#4292C6" "#2171B5"
# [8] "#08519C" "#08306B"
# Warning message:
# In brewer.pal(10, "Blues") :
# n too large, allowed maximum for palette Blues is 9
# Returning the palette you asked for with that many colors
查看 Blues palatte
display.brewer.pal(9,"Blues")
您可以获得的颜色数量是有限制的,但是如果您想扩展 Sequential 或 Diverging 组,您可以使用 colorRampPalatte 命令来实现,例如:
colorRampPalette(brewer.pal(9,”Blues”))(100)
divergent
、qualitative
和 sequential
方案的示例。 Spectral
、Set2
、Reds
,这些名字可以用上面提到的命令display.brewer.all()
看到。您可以使用列表中的其他一些方案。
display.brewer.pal(4,"Spectral")
brewer.pal(4,"Spectral")
# [1] "#D7191C" "#FDAE61" "#ABDDA4" "#2B83BA"
display.brewer.pal(4,"Set2")
brewer.pal(4,"Set2")
# [1] "#66C2A5" "#FC8D62" "#8DA0CB" "#E78AC3"
display.brewer.pal(4,"Reds")
brewer.pal(4,"Reds")
# [1] "#FEE5D9" "#FCAE91" "#FB6A4A" "#CB181D"
这是我目前的饼图:
library(plotly)
library(RColorBrewer)
P <- data.frame (labels = c("A", "B", "C", "D", "E"),
values = c(5, 8, 3, 4, 9))
plot_ly(P, labels = labels, values = values, type = "pie",
marker = list(colors=c("lightskyblue", "deepblue", "dodgerblue", "midnightblue", "powderblue")),
textinfo="value",
textposition="outside")
我想用十六进制字符串更改它的颜色,这样我就可以使用 RColorBrewer 的调色板。提前致谢!
只需将十六进制值放入字符串中,前面加上哈希(井号)#
。十六进制的前两位数字代表红色,接下来的 2 位数字代表绿色,然后 2 位数字代表蓝色 (#RRGGBB)。您可以选择为 alpha(透明度)添加额外的两位数字 (#RRGGBBAA)。
例如
plot_ly(P, labels = labels, values = values, type = "pie",
marker = list(colors=c("#556677", "#AA3344", "#772200",
"#11AA22", "#AA231B88")), # the last color has alpha value set.
textinfo="value",
textposition="outside")
探索RColorBrewer
包
library(RColorBrewer)
查看 RColorBrewer 包中的函数列表
ls("package:RColorBrewer")
# [1] "brewer.pal" "brewer.pal.info" "display.brewer.all"
# [4] "display.brewer.pal"
显示所有配色方案
display.brewer.all()
获取蓝调十六进制字符串
brewer.pal(9,"Blues")
# [1] "#F7FBFF" "#DEEBF7" "#C6DBEF" "#9ECAE1" "#6BAED6" "#4292C6" "#2171B5"
# [8] "#08519C" "#08306B"
brewer.pal(10,"Blues")
# [1] "#F7FBFF" "#DEEBF7" "#C6DBEF" "#9ECAE1" "#6BAED6" "#4292C6" "#2171B5"
# [8] "#08519C" "#08306B"
# Warning message:
# In brewer.pal(10, "Blues") :
# n too large, allowed maximum for palette Blues is 9
# Returning the palette you asked for with that many colors
查看 Blues palatte
display.brewer.pal(9,"Blues")
您可以获得的颜色数量是有限制的,但是如果您想扩展 Sequential 或 Diverging 组,您可以使用 colorRampPalatte 命令来实现,例如:
colorRampPalette(brewer.pal(9,”Blues”))(100)
divergent
、qualitative
和 sequential
方案的示例。 Spectral
、Set2
、Reds
,这些名字可以用上面提到的命令display.brewer.all()
看到。您可以使用列表中的其他一些方案。
display.brewer.pal(4,"Spectral")
brewer.pal(4,"Spectral")
# [1] "#D7191C" "#FDAE61" "#ABDDA4" "#2B83BA"
display.brewer.pal(4,"Set2")
brewer.pal(4,"Set2")
# [1] "#66C2A5" "#FC8D62" "#8DA0CB" "#E78AC3"
display.brewer.pal(4,"Reds")
brewer.pal(4,"Reds")
# [1] "#FEE5D9" "#FCAE91" "#FB6A4A" "#CB181D"