【问题标题】:barplot in R 3.1.1R 3.1.1 中的条形图
【发布时间】:2014-09-03 13:34:55
【问题描述】:

即使我已经习惯了 R,我仍然是新手,我希望有人可以帮助我处理这项任务......我试图寻找一些以前的主题,但我找不到我正在寻找的东西因为,所以在这里我希望能得到一些帮助。

我正在尝试绘制我的条形图,但我在某些设置上运气不佳,所以我希望有人能提供帮助。我在我的 mac OS 10.9.4 上使用 R 3.1.1。

我的桌子是这样的:

family      area1 area2 area3 area4 area5 area6 

   A        15    20    500  200   17    26 

   B        170   520    26   13   100    70 

   C        35    250    358   128   88    26

   D        95    375    289   156  169    356

   E        425   177    136   144   285    70

由于我将文件保存为 csv,因此我正在执行以下步骤:

fam <- read.csv ("family_per_area_count.csv", sep =";", header = T)

我将文件转换为矩阵

fam.mat <- as.matrix(fam_1, ncol = 6, byrow = T)

然后我分配行名和列名

rownames(fam.mat) <- c("A", "B", "C", "D", "E") 
colnames(fam.mat) <- c("area1", "area2", "area3", "area4", "area5", "area6")

那么我只是将条形图命令运行为

barplot(fam.mat, beside = T, col = rainbow(ncol(fam.mat)))

但我错过了 x 轴的大部分标签,并且绘图似乎被压在一起。

我还尝试使用此命令运行累积条形图

par(mar = c(5.1, 4.1, 4.1, 7.1), xpd = TRUE)

prop <- prop.table(data_mat, margin = 2)

barplot(data_mat, col = rainbow(length(rownames(data_mat))), width = 3)

legend("topright", inset = c(-0.25, 0), fill = rainbow(length(rownames(data_mat))), 
       legend = rownames(data_mat))

但图例颜色与数据不匹配,我的 x 轴似乎又偏离了中心。我试图转置矩阵,但仍然没有运气。

任何人都可以提出任何建议吗?

提前谢谢你

F。

【问题讨论】:

  • 您说您正在“尝试使用 ggplot2”,但随后继续显示代码,该代码仅使用基本图形。
  • mmm ...那是我对 R 不太擅长,但在我看过的所有教程中,在线条形图是 ggplot2 包的一部分
  • 函数barplot()不是包ggplot2的一部分
  • 您可以使用 ggplot2 制作条形图,也可以使用基本图形制作它们。由于这两种方法非常不同,因此您要么需要指明偏好,要么不需要指明偏好。
  • 好的,感谢您提供的信息,我只是按照我找到的教程进行操作,而我发现加载 ggplot2 的内容,因此我感到困惑。如果有人有任何建议,我只希望能够正确表示我的数据

标签: r bar-chart


【解决方案1】:

这是一个开始:

DF <- read.table(text="family      area1 area2 area3 area4 area5 area6 

   A        15    20    500  200   17    26 

                 B        170   520    26   13   100    70 

                 C        35    250    358   128   88    26

                 D        95    375    289   156  169    356

                 E        425   177    136   144   285    70", header=TRUE)

library(reshape2)
DF <- melt(DF, id.var="family")

library(ggplot2)
ggplot(DF, aes(x=family, y=value, fill=variable)) +
  geom_bar(stat="identity", position="dodge")

研究 ggplot2 文档和教程以了解如何自定义绘图。

【讨论】:

  • 谢谢!我会尝试一下并从这里开始工作,我只是迷路了。 ^_^
猜你喜欢
  • 2015-04-10
  • 2020-09-25
  • 1970-01-01
  • 2015-01-22
  • 2013-03-22
  • 2013-02-11
  • 1970-01-01
  • 1970-01-01
  • 2022-06-16
相关资源
最近更新 更多