【发布时间】:2020-12-22 21:04:12
【问题描述】:
我打算从一个文本文件中为 12 个站的值绘制聚集柱形图。因此,该地块将分为 12 组。我在 excel 中很容易做到:
但是我在使用文本文件中的 ggplot2 时遇到了麻烦,这是我使用的代码:
library(ggplot2)
library(reshape2)
my_data <- read.table("MLD.txt",header = T)
attach(my_data)
my_data
head(my_data)
df <- melt(my_data, id.vars=1)
ggplot(df, aes(Station, value)) + geom_bar(
aes(fill = variable),
width = 0.4,
position = position_dodge(width = 0.5),
stat = "identity"
) +
theme(
legend.position = "top",
legend.title =
element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank()
)
如您所见,它不是将条形显示为组,而是描述值。如果有人可以建议我,我将不胜感激,我将如何生成类似于 excel 的图表。我在这里附上原始数据,虽然我更喜欢从文本或 csv 文件中绘制:
Station MLD.IN MLD.MOD
1 1 7.13333 10.52890
2 2 7.93404 10.52890
3 3 4.62014 8.75782
4 4 1.14347 9.06654
5 5 6.45909 10.52890
6 6 5.76597 10.52890
7 7 7.77065 10.05040
8 8 8.64324 7.20295
9 9 8.23878 10.52890
10 10 8.38739 10.48650
11 11 13.40270 10.52890
12 12 18.58280 8.97171
任何帮助、建议将不胜感激。
【问题讨论】:
-
执行
df$Station <- factor(df$Station, levels=1:12, labels= paste0("Stn ", 1:12))然后重新生成图表。
标签: r csv ggplot2 text bar-chart