如何使用ggplot生成带有一个变量的平铺图?

时间:2012-02-13 16:17:33

标签: r ggplot2

我正在尝试用ggplot2制作一个带有单个变量的平铺图。数据如下所示:

fruit numbers
apples 6
peaches 2
grapes 10
cherries 2
... many more fruit

我可以绘制与x和y变量相同的数据,我可以使用此代码:

p <- qplot(fruit,fruit) + geom_tile(aes(fill=numbers))

输出如下:

enter image description here

上面的情节正是我想绘制的;但是,我需要将数据排列在一个水平的一维图中。如何使用1个变量创建一维水平标题图?

2 个答案:

答案 0 :(得分:5)

p <- qplot(fruit," ") + geom_tile(aes(fill=numbers))

答案 1 :(得分:2)

数据集(猜测数据的解释)。诀窍是包含一个虚拟y变量。

pacman_data <- data.frame(
    fruit = c("apples", "peaches", "grapes", "cherries"),
    numbers = c(6, 2, 10, 2),
    dummy = 1
)

这是情节。您可以使用geom_tilegeom_bar,唯一的区别似乎是geom_bar默认情况下会为您提供一小块距离。

p_base <- ggplot(pacman_data, aes(fruit, dummy, fill = numbers)) +
    ylab("") +
    opts(axis.text.y = theme_blank())
p_base + geom_tile()
p_base + geom_bar()