为什么我的条形图有奇怪的填充和不正确的顺序? (R)

时间:2017-11-30 01:04:19

标签: r

有人可以指出我的条形图在其中有这些奇怪的线条/填充的原因是什么,当我按照视图重新排序类别时,它不起作用?

我的数据如下。我要按类别(不是计数)和按总观看次数递减的顺序排列一个条形图条形图。

    category views
    1        100
    2        12
    1        5
    10       98
    .        .
    .        . 
    .        .

我的代码:

    gplot(data=data, aes(x=reorder(category, views), y=views)) +
geom_bar(colour="black", stat="identity") +
coord_flip() 

My Bar chart

1 个答案:

答案 0 :(得分:1)

从x轴看,您正在分别绘制大量观察结果。你会得到奇怪的黑带,因为这些是这些独立观察的边界。以下是确认行为的可重复示例:

set.seed(123)
data <- data.frame(category = 1:15, views = sample(1:300), size = 3000, replace = T))

# plot the graph
library(ggplot2)
ggplot(data=data, aes(x=reorder(category, views), y=views)) +
  geom_bar(colour="black", stat="identity") +
  coord_flip()

enter image description here

您有两种解决方法:

  • 将aes参数从colour更改为fill :这会使条形图显示为黑色
  • 在绘制之前对数据进行分组:如果您实际上是在尝试为条形图的轮廓着色,然后在绘制图表之前将数据聚合成组,那么

这是第二种方法:

# aggregate before plotting
data_sum <- aggregate(views ~ category, data = data, FUN = sum)

ggplot(data=data_sum, aes(x=reorder(category, views), y=views)) +
  geom_bar(colour="black", stat="identity") +
  coord_flip()

enter image description here

我无法使用提供的数据集复制您的订单问题。但聚合数据应该解决这个问题我相信。