如何用r中的ggplot创建分组条形图

时间:2013-12-31 10:20:25

标签: r bar-chart

Year    Balance TotalDeposits
1   18837.44    18000
2   39313.74    36000
3   61571.47    54000
4   85765.63    72000
5   112064.68   90000
6   140651.75   108000
7   171725.89   126000
8   205503.49   144000
9   242219.73   162000
10  282130.29   180000
11  325513.06   198000

我有矩阵

我想创建一个分组的barchat,其中x轴将年份作为分类变量。 并且条形代表相应年份的balace和总存款。

请建议基本的barchat功能,而不是ggplot或格子功能。

我正在从.csv文件中读取数据。

到目前为止我尝试了什么

d <- read.table(text="Year  Balance TotalDeposits
1   18837.44    18000
2   39313.74    36000
3   61571.47    54000
4   85765.63    72000
5   112064.68   90000
6   140651.75   108000
7   171725.89   126000
8   205503.49   144000
9   242219.73   162000
10  282130.29   180000
11  325513.06   198000")
d <- do.call(rbind,d)
barplot(d , beside=TRUE)

2 个答案:

答案 0 :(得分:1)

例如:

mat <- as.matrix(t(d[,2:3]))
colnames(mat) <- d[,1]
barplot(mat , beside=TRUE,legend.text=TRUE,
    args.legend=list(x=8))

enter image description here

d是:

d <- read.table(text="Year  Balance TotalDeposits
1   18837.44    18000
2   39313.74    36000
3   61571.47    54000
4   85765.63    72000
5   112064.68   90000
6   140651.75   108000
7   171725.89   126000
8   205503.49   144000
9   242219.73   162000
10  282130.29   180000
11  325513.06   198000",header=TRUE)

答案 1 :(得分:0)

我不确定这是不是你想要的......

# after reading in dataframe into d

m <- t(d)
barplot(m[2:3, ] , beside=TRUE, names.arg=m[1, ], 
        col=2:3, las=1, xlab="Year")
legend("topleft", legend=c("Balance", "TotalDeposits"), fill=2:3, box.col=NA)

enter image description here