用r语言躲避

时间:2012-02-22 05:43:46

标签: r ggplot2

我正在尝试生成以下数据的直方图(数据来自sqlserver数据库)

    > head(Data)
     value temp
1 47.34848   97
2 45.95588   97
3 47.34848   97
4 46.99248   97
5 46.64179   97
6 46.29630   97

我在ggplot中尝试了qplot并躲避。我希望我会得到多个直方图,但我得到一个直方图enter image description here

> qplot(value, data=Data, geom = "bar", fill = temp, position = "dodge")

为了验证我在Data中有两个不同的温度,我生成了一个temp的直方图

> qplot(temp,data=Data,geom="bar")

enter image description here

我还生成了该值的直方图,它与上面的第一个图相同。 为了验证我的命令,我生成了一个带有一些示例数据的图表,我正在使用的命令似乎没问题

    > head(SampleData)
  val cat
1   1   a
2   2   a
3   3   a
4   4   a
5   4   a
6   2   a

enter image description here

请帮我找到问题

1 个答案:

答案 0 :(得分:2)

用于定义两个组的变量应为factor

# Sample data
n <- 100
d <- sample( c(TRUE,FALSE), n, replace=TRUE )
d <- data.frame(
  value = ifelse(d, 10, 30 ) + 10 * rnorm(n),
  temp = ifelse(d,0,97)
)

# Make sure temp is a factor
p <- ggplot(d, aes(x=value, fill=factor(temp))) 

p + geom_histogram(position="stack") 
p + geom_histogram(position="dodge")