【问题标题】:I want to add clour manully in barstack plot using ggplot and i am getting error Error: Continuous value supplied to discrete scale我想使用 ggplot 在 barstack 图中手动添加颜色,我收到错误错误:连续值提供给离散比例
【发布时间】:2019-04-29 12:15:44
【问题描述】:

我想做一个条形图。我正在使用ggplot2。我的数据中有 37 行和 5 列。

数据 -

structure(list(Cluster_2 = c(1, 0, 0, 1, 2, 0), Cluster_3 = c(1, 
2, 2, 1, 0, 5), Cluster_9 = c(1, 5, 9, 2, 0, 11), Cluster_11 = c(2, 
0, 0, 0, 0, 0), Cluster_14 = c(0, 0, 1, 2, 1, 2)), .Names = c("Cluster_2", 
"Cluster_3", "Cluster_9", "Cluster_11", "Cluster_14"), class = c("tbl_df", 
"tbl", "data.frame"), row.names = c(NA, -6L))

代码:

library(reshape2)

matrix$row <- seq_len(nrow(matrix))
dat2 <- melt(matrix, id.vars = "row")


fill_2 <- c("yellow2", "hotpink4" , "brown", "rosybrown2", "seagreen", 
            "royalblue" , "#FFFFCC","#CCFF66", "#99CC00", "#CC9900", 
            "#FF9933", "#CC6666", "#FF3333", "black", "royalblue1", 
            "royalblue2", "royalblue3", "royalblue4", "navy", "chocolate1",
            "chocolate2", "chocolate3" , "chocolate4" , "brown1" , 
            "brown2", "brown3", "brown4", "azure", "azure1", "azure2",
            "azure3", "00FFFF", "33FFCC", "66FF99", "99FFFF", "CCFFFF",
            "006666" )

ggplot(dat2, aes( y=value, x=variable , fill = row  , group= row) ) +
   geom_bar( stat="identity" , position="fill") + 
   guides(fill = FALSE) +
   scale_fill_manual(values= fill_2)

错误:

错误:提供给离散刻度的连续值 另外:警告信息: 删除了包含缺失值的 83 行 (position_stack)。

【问题讨论】:

  • 如果没有数据样本就很难提供帮助,但我假设您的行是连续的(例如数字)而不是离散的(例如因子)
  • 数据示例 --
  • 因为您的数据只是--?如果您想包含数据,请编辑您的问题,而不是添加为评论
  • 我以图像形式添加了数据。请检查已编辑的问题。
  • 不要将 datat 添加为图像。它不是复制/粘贴的,所以我们仍然很难提供帮助。在控制台中输入 dput(head(data)) 并将输出粘贴到您的问题中

标签: r ggplot2 colors bar-chart


【解决方案1】:

问题在于您的 matrix$row 参数是数字。您可以通过在ggplot 代码中绘制之前手动将其更改为字符来解决此问题。

ggplot(dat2, aes( y=value, x=variable , fill = as.character(row)  , group= row) ) +
  geom_bar( stat="identity" , position="fill") + 
  guides(fill = FALSE) +
  scale_fill_manual(values= fill_2)

注意:您不需要代码中的group = row 部分。 fill 参数将它们分组。

【讨论】:

  • 你能再帮我解决一个错误吗?我也想添加图例,但图表没有显示任何错误以及图例。我使用了主题(legend.position="top")但什么也没发生
  • 指南(fill = false)正在删除图例。摆脱那条线
猜你喜欢
  • 2012-06-04
  • 2014-11-14
  • 1970-01-01
  • 2015-11-09
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-27
相关资源
最近更新 更多