gpt4 book ai didi

r - 将矩阵的列视为系列的图

转载 作者:行者123 更新时间:2023-12-04 11:04:08 26 4
gpt4 key购买 nike

大家好,我正在使用 R 中的矩阵。这个名为 Matriz.Colocacion 的矩阵有五列,每列显示有关 2009、2010、2011、2012 和 2013 年不同年份的信息。Matriz.Colocacion 的行名称包含每年的月份。我的矩阵有下一个形式(我在最后一部分包含 dput()Matriz.Colocacion 版本):

                 2009       2010       2011       2012       2013
enero 710004.35 1458624.41 6229245.09 4407422.89 3006568.05
febrero 889398.08 942099.60 5553163.01 4248144.11 2615730.00
marzo 1114883.11 1210951.20 6372919.90 3537103.40 2833299.10
abril 1419242.11 1151423.89 6755054.64 3500595.75 3438797.32
mayo 1585857.22 1598355.10 7119008.27 4049074.18 3224926.48
junio 1010455.56 1370856.78 7585411.87 3279868.96 2794029.57
julio 1292333.35 1420547.36 7402737.51 3420974.23 3003458.16
agosto 1032443.35 2048291.06 7250944.21 2602310.30 2486931.57
septiembre 1133260.11 3043637.60 6227706.73 2225635.25 2515076.46
octubre 1229593.84 3669634.09 5795989.01 2853467.41 2674568.38
noviembre 1074569.64 3641665.16 4015226.43 4178671.47 0.00
diciembre 1370905.58 6780879.37 5391952.87 2831027.32 0.00

当我尝试构建图表时出现了问题。我不知道将我的矩阵分成单个系列是否更好,或者是否可以使用所有矩阵来绘制我想要的图形。我想得到这样的图形: enter image description here

其中 x 轴显示 row.names(Matriz.Colocacion),图例中显示矩阵的不​​同年份 (2009,2010,2011,2012,2013)。

我对 ggplot 没有足够的了解,并且在尝试创建此图表时遇到了一些麻烦。我的矩阵的 dput() 版本是下一个:
structure(c(710004.35, 889398.08, 1114883.11, 1419242.11, 1585857.22, 
1010455.56, 1292333.35, 1032443.35, 1133260.11, 1229593.84, 1074569.64,
1370905.58, 1458624.41, 942099.6, 1210951.2, 1151423.89, 1598355.1,
1370856.78, 1420547.36, 2048291.06, 3043637.6, 3669634.09, 3641665.16,
6780879.37, 6229245.09, 5553163.01, 6372919.9, 6755054.64, 7119008.27,
7585411.87, 7402737.51, 7250944.21, 6227706.73, 5795989.01, 4015226.43,
5391952.87, 4407422.89, 4248144.11, 3537103.4, 3500595.75, 4049074.18,
3279868.96, 3420974.23, 2602310.3, 2225635.25, 2853467.41, 4178671.47,
2831027.32, 3006568.05, 2615730, 2833299.1, 3438797.32, 3224926.48,
2794029.57, 3003458.16, 2486931.57, 2515076.46, 2674568.38, 0,
0), .Dim = c(12L, 5L), .Dimnames = list(c("enero", "febrero",
"marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre",
"octubre", "noviembre", "diciembre"), c("2009", "2010", "2011",
"2012", "2013")))

我等你能帮我。非常感谢。

最佳答案

诀窍是以正确的格式获取数据:

library(reshape2)
library(ggplot2)
library(scales)

dat_melt = melt(dat)
dat_melt = within(dat_melt, {
Var2 = as.factor(Var2)
Var1 = factor(Var1, levels = c('enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'))
})

ggplot(dat_melt, aes(x = Var1, y = value, color = Var2, group = Var2)) +
geom_line() +
scale_y_continuous(labels = comma)

enter image description here

这个问题比我最初想象的要棘手一些。两者 colorgroup在这种情况下需要美观,因为 x 轴是 factor变量和 ggplot2使用 geom_line时通常不会连接点,见 this link想要查询更多的信息。

关于r - 将矩阵的列视为系列的图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20777042/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com