绘制热图,并在r中定义每个类别的颜色
我试图用plotly中指定的颜色(按类别)绘制热图。我在这里问了一个类似的问题: 然而,我在用热图做类似的尝试时遇到了一个新问题。我的代码如下所示:绘制热图,并在r中定义每个类别的颜色,r,ggplot2,plotly,R,Ggplot2,Plotly,我试图用plotly中指定的颜色(按类别)绘制热图。我在这里问了一个类似的问题: 然而,我在用热图做类似的尝试时遇到了一个新问题。我的代码如下所示: # Test DataFrame test_df <- data.frame( "weekday" = c("Fr", "Sa", "Su"), "time" = c("06:00:00", "12:00:00", "18:00:00"), "channel" = c("NBC", "CBS Drama", "ABC"), "
# Test DataFrame
test_df <- data.frame(
"weekday" = c("Fr", "Sa", "Su"),
"time" = c("06:00:00", "12:00:00", "18:00:00"),
"channel" = c("NBC", "CBS Drama", "ABC"),
"colors" = c("#FCB711", "#162B48", "#AA8002"),
"views" = c(1200, 1000, 1250)
)
plot_ly(colors = unique(as.character(test_df$colors)), type = "heatmap") %>%
add_trace(test_df,
x = test_df$weekday,
y = test_df$time,
z = test_df$views,
type = "heatmap")
测试数据帧
测试单位df%
添加跟踪(测试),
x=测试日df$工作日,
y=测试时间,
z=测试_df$视图,
type=“热图”)
我得到的是以下图片:
我这里的问题是:1.这些颜色不是我告诉R使用的颜色
2.我不想要一个色阶,而是将类别划分为多个通道 我知道ggplot中有一个解决方法,我正在努力,但我想在plotly中使用它。 以下是ggplot中的外观以及我希望plotly中的内容(我知道ggplotly,但这仍然不是纯plotly): 以下是上图的代码:
channel_colors <- test_df %>% distinct(colors) %>% pull(colors)
names(channel_colors) <- test_df %>% distinct(channel) %>% pull(channel)
p <- ggplot(data = test_df,
aes(
x = weekday,
y = time,
fill = channel)) +
geom_tile(aes(alpha = views)) +
scale_alpha(range = c(0.5, 1)) +
theme_minimal() +
scale_fill_manual(values = channel_colors)
ggplotly(p)
channel\u颜色%distinct(颜色)%%>%pull(颜色)
名称(通道颜色)%distinct(通道)%%>%pull(通道)
正如你所描述的,它听起来像是一张热图,而不是你想要的。是否希望颜色仅表示频道?那么,您想在哪里说明视图的数量呢?事实上,这有点困难。视图数量应为通道颜色的“亮度”。你有什么想法吗?