我正在尝试使网格看起来像堆积条形图。条形图的各个部分代表应用程序类别,x轴表示其价格等级的条形图。我希望条形图部分的颜色强度随类别中的应用程序数量而变化。我尝试使用ggplot2 geom_bar,但我无法弄清楚如何在Y轴上绘制类别。我的数据如下:
Category No.Apps Price
Utilities 400 0
Utilities 300 1-10
Utilities 500 11-20
Utilities 200 21-30
Games 1000 0
Games 900 1-10
Games 400 11-20
Games 100 21-30
Productivity 300 0
Productivity 100 1-10
Productivity 50 11-20
Productivity 80 21-30
我希望我的图表看起来像这样:
http://i.stack.imgur.com/XEn2g.png
y轴上的类别和x轴上的价格等级。
答案 0 :(得分:0)
library(ggplot2)
#making some fake data and putting it into a data.frame
price <- rnorm(n = 10000,mean = 5,sd = 2)
app <- sample(x = LETTERS[1:10],size = 10000,replace = T)
df <- data.frame(price,app)
head(df)
#now the plot
ggplot(df, aes(x=price,y=app))+
geom_bin2d()
答案 1 :(得分:0)
这似乎接近你的图形,虽然颜色不同。
library(ggplot2)
ggplot(df, aes(x=Price,y=Category, fill=No.Apps)) +
geom_tile()+
scale_fill_gradientn(colours=rev(heat.colors(10)))+
scale_x_discrete(expand=c(0,0))+
scale_y_discrete(expand=c(0,0))+
coord_fixed()
注意:
geom_tile(...)
制作块。rev(heat.colors(10))
创建调色板(高值为红色,低值为淡黄色)。coord_fixed(...)
,因此块是方形的(将宽高比设置为1:1)。expand=c(0,0)
,因此块填充整个绘图区域。