Как я могу сделать мою диаграмму из большого набора данных более четкой и лаконичной в R? - PullRequest
1 голос
/ 10 мая 2019

Я составил график, показывающий уровни смертности для муниципалитетов (MUN_RESID) за все месяцы с 08-2005 по 12-2015. Поскольку фрейм данных очень большой, диаграмма не очень ясна, например, Нельзя читать муниципальные идентификаторы на оси X и не видеть разные цвета для соответствующих месяцев. Я хотел бы иметь более четкую диаграмму, чтобы можно было видеть идентификаторы на оси х и, если возможно, раскраску столбца. Большое спасибо за вашу помощь.

К сожалению, я новичок в R и поэтому не могу добавить снимок экрана непосредственно с диаграммой напрямую, но после кода есть ссылка. Также, возможно, есть некоторые из вас с некоторыми общими советами о том, как справиться с такими проблемами с диаграммой. Я должен оставить все данные в одном графике, поэтому, к сожалению, разделение данных не вариант.

Вот как выглядит образец:

MUN_RESID X08.2005_P X09.2005_P X10.2005_P X11.2005_P X12.2005_P
1    120043 0.00000000 0.22382438 0.02797805 0.00000000 0.00000000
2    150775 0.00000000 0.02475672 0.00000000 0.00000000 0.00000000
3    170025 0.00000000 0.00000000 0.00000000 0.04305349 0.00000000
4    170382 0.04510756 0.00000000 0.00000000 0.00000000 0.00000000
5    171180 0.00000000 0.04180602 0.00000000 0.00000000 0.00000000
6    171525 0.04113143 0.00000000 0.00000000 0.00000000 0.00000000
7    172025 0.00000000 0.00000000 0.00000000 0.00000000 0.03480216

до 2015 года

X07.2015_P X08.2015_P X09.2015_P X10.2015_P X11.2015_P X12.2015_P
1          0 0.05595610          0          0          0 0.00000000
2          0 0.00000000          0          0          0 0.02475672
3          0 0.04305349          0          0          0 0.00000000
4          0 0.00000000          0          0          0 0.00000000
5          0 0.00000000          0          0          0 0.00000000
6          0 0.00000000          0          0          0 0.00000000
7         NA         NA         NA         NA         NA         NA

[достигнуто 'max' / getOption ("max.print") - пропущено 3 строки]

==X==============================================================X==
     Copy+Paste this part. (If on a Mac, it is already copied!)
==X==============================================================X==

months_total_f052 <- structure(list(MUN_RESID = structure(c(1L, 2L, 3L, 4L, 5L, 6L,7L, 171L, 172L, 173L), .Label = c("120043", "150775", "170025","170382", "171180", "171525", "172025", "220080", "220157", "220198","220207", "220360", "220860", "220960", "220975", "221010", "221037","240960", "241380", "241430", "241490", "250073", "250390", "251060","251380", "251520", "251560", "251570", "280500", "280690", "280730","310070", "310310", "310360", "310610", "310700", "310980", "311220","311470", "311620", "312150", "312190", "312460", "312737", "312790","314010", "314130", "314420", "314570", "314660", "314750", "315727","315870", "315970", "316310", "316490", "316590", "316805", "350075","350150", "350730", "350770", "351330", "351385", "351420", "351492","351495", "351610", "351800", "352060", "352540", "352580", "352885","353100", "353320", "353330", "353450", "354030", "354165", "354450","354765", "354830", "355200", "355460", "355520", "355530", "355570","410115", "410185", "410322", "411065", "411230", "411260", "411650","411729", "411740", "411845", "411925", "412030", "412033", "412420","420055", "420208", "420243", "420515", "420535", "420555", "421020","421085", "421315", "421568", "421590", "430045", "430047", "430057","430185", "430215", "430237", "430462", "430495", "430583", "430597","430637", "430786", "430980", "431036", "431041", "431065", "431127","431164", "431173", "431179", "431235", "431261", "431300", "431301","431308", "431310", "431335", "431346", "431407", "431455", "431477","431507", "431514", "431642", "431643", "431805", "431846", "431849","431861", "431935", "431937", "432045", "432235", "432252", "432285","432320", "432360", "500797", "510100", "510120", "510617", "510729","510810", "520120", "520360", "520393", "520710", "521015", "521200","521945", "522157"), class = "factor"), X08.2005_P = c(0, 0,0, 0.0451075641915337, 0, 0.0411314307409985, 0, 0, 0, 0), X09.2005_P = c(0.223824383944905,0.0247567176401135, 0, 0, 0.0418060200668896, 0, 0, 0.0322436628801032,0.0314032417808054, 0), X10.2005_P = c(0.0279780479931131, 0,0, 0, 0, 0, 0, 0, 0, 0), X11.2005_P = c(0, 0, 0.0430534856764365,0, 0, 0, 0, 0, 0, 0), X12.2005_P = c(0, 0, 0, 0, 0, 0, 0.0348021630882904,0, 0, 0.0329205601559928), X01.2006_P = c(0, 0.0247567176401135,0, 0, 0, 0, 0, 0, 0, 0), X02.2006_P = c(0.0279780479931131, 0,0, 0, 0, 0, 0, 0.0322436628801032, 0.0314032417808054, 0.0329205601559928), X03.2006_P = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X04.2006_P = c(0,0, 0, 0, 0.0418060200668896, 0, 0, 0.0322436628801032, 0, 0),X05.2006_P = c(0.0279780479931131, 0, 0, 0, 0, 0, 0, 0, 0.0314032417808054,0), X06.2006_P = c(0, 0, 0.0430534856764365, 0.0451075641915337,0, 0.0411314307409985, 0, 0, 0, 0), X07.2006_P = c(0.0559560959862262,0, 0.0430534856764365, 0, 0, 0, 0, 0, 0, 0), X08.2006_P = c(0.0559560959862262,0, 0, 0, 0, 0, 0, 0.0322436628801032, 0, 0), X09.2006_P = c(0.0559560959862262,0, 0, 0, 0, 0, 0, 0, 0, 0), X10.2006_P = c(0.0279780479931131,0, 0, 0, 0, 0, 0, 0, 0, 0), X11.2006_P = c(0.0559560959862262,0, 0, 0, 0, 0, 0.0696043261765808, 0, 0, 0), X12.2006_P = c(0,0, 0, 0, 0, 0, 0.0348021630882904, 0, 0, 0.0329205601559928), X01.2007_P = c(0, 0, 0, 0.0451075641915337, 0, 0, 0, 0,0, 0), X02.2007_P = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X03.2007_P = c(0,0, 0, 0, 0, 0, 0, 0, 0, 0), X04.2007_P = c(0, 0.0247567176401135,0, 0, 0, 0, 0.0696043261765808, 0, 0, 0), X05.2007_P = c(0.0279780479931131,0, 0, 0, 0, 0, 0, 0, 0, 0), X06.2007_P = c(0, 0, 0, 0, 0,0, 0, 0, 0.0314032417808054, 0), X07.2007_P = c(0, 0, 0.0430534856764365,0.0451075641915337, 0, 0.0411314307409985, 0, 0, 0, 0.0329205601559928), X08.2007_P = c(0, 0, 0, 0, 0.0418060200668896, 0, 0, 0.0322436628801032,0, 0), X09.2007_P = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X10.2007_P = c(0,0, 0, 0, 0, 0, 0, 0, 0, 0), X11.2007_P = c(0, 0, 0, 0, 0,0, 0, 0, 0, 0), X12.2007_P = c(0, 0, 0, 0, 0, 0, 0, 0, 0,0), X01.2008_P = c(0, 0, 0, 0.0451075641915337, 0, 0, 0,0, 0, 0), X02.2008_P = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X03.2008_P = c(0.0279780479931131,0.0247567176401135, 0, 0, 0, 0, 0, 0, 0, 0), X04.2008_P = c(0,0, 0, 0.0451075641915337, 0.0418060200668896, 0.0411314307409985,0.0348021630882904, 0, 0, 0), X05.2008_P = c(0, 0, 0, 0,0, 0, 0, 0, 0, 0), X06.2008_P = c(0.0559560959862262, 0,0.0430534856764365, 0, 0, 0, 0, 0, 0, 0), X07.2008_P = c(0.0279780479931131,0, 0, 0, 0, 0, 0, 0, 0, 0), X08.2008_P = c(0.0279780479931131,0, 0, 0, 0, 0, 0, 0, 0, 0), X09.2008_P = c(0.0279780479931131,0, 0, 0, 0, 0, 0, 0.0322436628801032, 0, 0.0329205601559928), X10.2008_P = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X11.2008_P = c(0,0, 0, 0, 0, 0, 0, 0, 0.0314032417808054, 0), X12.2008_P = c(0,0, 0, 0, 0, 0, 0.0348021630882904, 0, 0, 0), X01.2009_P = c(0,0, 0, 0.0451075641915337, 0, 0, 0, 0, 0, 0), X02.2009_P = c(0,0, 0, 0, 0, 0, 0.0348021630882904, 0, 0, 0), X03.2009_P = c(0,0, 0, 0, 0, 0, 0, 0, 0, 0), X04.2009_P = c(0, 0, 0, 0, 0,0, 0, 0, 0, 0), X05.2009_P = c(0, 0, 0, 0, 0.0418060200668896,0, 0, 0, 0, 0), X06.2009_P = c(0, 0, 0.0430534856764365,0, 0, 0, 0, 0, 0, 0), X07.2009_P = c(0.0279780479931131,0.0247567176401135, 0, 0, 0, 0, 0, 0, 0.0314032417808054,0), X08.2009_P = c(0, 0, 0, 0, 0, 0.0411314307409985, 0,0, 0, 0), X09.2009_P = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0329205601559928), X10.2009_P = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X11.2009_P = c(0.0279780479931131,0, 0, 0, 0, 0, 0, 0.0322436628801032, 0, 0), X12.2009_P = c(0,0, 0, 0, 0, 0, 0, 0, 0.0314032417808054, 0), X01.2010_P = c(0,0, 0, 0, 0, 0, 0, 0, 0, 0), X02.2010_P = c(0, 0, 0, 0, 0,0, 0, 0, 0, 0), X03.2010_P = c(0, 0, 0, 0, 0, 0, 0, 0, 0,0), X04.2010_P = c(0.0279780479931131, 0, 0, 0, 0, 0, 0,0, 0, 0), X05.2010_P = c(0, 0.049513435280227, 0, 0, 0, 0,0, 0, 0.0314032417808054, 0), X06.2010_P = c(0, 0, 0, 0,0.0418060200668896, 0, 0, 0, 0, 0), X07.2010_P = c(0, 0,0, 0.0451075641915337, 0, 0, 0, 0, 0, 0), X08.2010_P = c(0,0, 0, 0, 0, 0, 0, 0, 0, 0), X09.2010_P = c(0, 0, 0, 0, 0,0.0822628614819971, 0, 0, 0, 0), X10.2010_P = c(0, 0, 0,0, 0, 0, 0, 0.0322436628801032, 0, 0), X11.2010_P = c(0,0, 0, 0, 0, 0, 0.0348021630882904, 0, 0, 0), X12.2010_P = c(0,0, 0.086106971352873, 0, 0, 0, 0, 0, 0, 0.0329205601559928), X01.2011_P = c(0.0279780479931131, 0, 0, 0, 0, 0.0411314307409985,0, 0, 0, 0), X02.2011_P = c(0, 0.0247567176401135, 0, 0,0, 0, 0, 0.0322436628801032, 0, 0), X03.2011_P = c(0, 0,0, 0, 0.0418060200668896, 0, 0, 0, 0, 0), X04.2011_P = c(0,0, 0, 0.0451075641915337, 0, 0, 0, 0, 0.0314032417808054,0), X05.2011_P = c(0, 0, 0, 0, 0, 0.0411314307409985, 0.0348021630882904,0, 0, 0), X06.2011_P = c(0, 0, 0.0430534856764365, 0, 0,0, 0, 0, 0, 0), X07.2011_P = c(0, 0, 0, 0, 0, 0, 0, 0, 0,0.0658411203119856), X08.2011_P = c(0, 0, 0, 0, 0, 0, 0,0, 0, 0), X09.2011_P = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X10.2011_P = c(0,0, 0, 0, 0, 0, 0, 0, 0, 0), X11.2011_P = c(0, 0, 0, 0, 0,0, 0, 0, 0, 0), X12.2011_P = c(0, 0, 0, 0, 0, 0, 0, 0, 0,0), X01.2012_P = c(0, 0.0247567176401135, 0, 0, 0, 0, 0,0, 0, 0.0329205601559928), X02.2012_P = c(0, 0.0742701529203405,0, 0, 0, 0.0411314307409985, 0, 0, 0, 0), X03.2012_P = c(0,0, 0, 0.0451075641915337, 0, 0, 0, 0, 0, 0), X04.2012_P = c(0,0, 0, 0.0902151283830673, 0, 0, 0, 0, 0, 0), X05.2012_P = c(0,0, 0.0430534856764365, 0, 0, 0, 0, 0, 0, 0), X06.2012_P = c(0,0, 0, 0, 0.0836120401337793, 0, 0, 0, 0.0314032417808054,0), X07.2012_P = c(0, 0, 0, 0, 0.0418060200668896, 0, 0,0, 0, 0), X08.2012_P = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X09.2012_P = c(0,0, 0, 0, 0, 0, 0, 0.0322436628801032, 0, 0), X10.2012_P = c(0,0, 0, 0.0451075641915337, 0, 0, 0, 0, 0.0628064835616107,0), X11.2012_P = c(0, 0, 0, 0, 0, 0, 0.0348021630882904,0, 0, 0), X12.2012_P = c(0.0279780479931131, 0, 0, 0, 0,0, 0, 0, 0, 0), X01.2013_P = c(0, 0, 0, 0, 0, 0, NA, 0, 0,NA), X02.2013_P = c(0.0279780479931131, 0, 0, 0, 0, 0, NA,0, 0, NA), X03.2013_P = c(0, 0, 0.0430534856764365, 0.0451075641915337,0, 0, NA, 0, 0, NA), X04.2013_P = c(0, 0, 0, 0, 0, 0.0411314307409985,NA, 0, 0, NA), X05.2013_P = c(0, 0, 0, 0, 0, 0, NA, 0, 0,NA), X06.2013_P = c(0.0279780479931131, 0, 0, 0, 0, 0, NA,0, 0, NA), X07.2013_P = c(0, 0, 0, 0, 0, 0, NA, 0, 0, NA),X08.2013_P = c(0, 0, 0, 0, 0, 0, NA, 0.0322436628801032,0.0314032417808054, NA), X09.2013_P = c(0.0279780479931131,0.049513435280227, 0, 0, 0.0418060200668896, 0, NA, 0.0322436628801032,0, NA), X10.2013_P = c(0.0279780479931131, 0, 0, 0, 0, 0,NA, 0, 0, NA), X11.2013_P = c(0, 0, 0, 0, 0, 0, NA, 0, 0,NA), X12.2013_P = c(0, 0, 0, 0, 0, 0, NA, 0, 0, NA), X01.2014_P = c(0,0, 0, 0, 0.0418060200668896, 0.0411314307409985, NA, 0, 0,NA), X02.2014_P = c(0, 0, 0, 0, 0, 0, NA, 0, 0, NA), X03.2014_P = c(0,0, 0, 0, 0, 0, NA, 0, 0, NA), X04.2014_P = c(0, 0, 0, 0,0, 0, NA, 0, 0, NA), X05.2014_P = c(0, 0, 0.0430534856764365,0, 0, 0, NA, 0.0322436628801032, 0.0314032417808054, NA),X06.2014_P = c(0, 0, 0, 0, 0, 0, NA, 0, 0, NA), X07.2014_P = c(0,0, 0, 0, 0, 0, NA, 0, 0, NA), X08.2014_P = c(0, 0, 0, 0,0, 0, NA, 0, 0, NA), X09.2014_P = c(0.0279780479931131, 0.0247567176401135,0, 0, 0, 0, NA, 0, 0, NA), X10.2014_P = c(0, 0.0247567176401135,0, 0.0451075641915337, 0, 0, NA, 0, 0, NA), X11.2014_P = c(0,0, 0, 0, 0, 0, NA, 0, 0, NA), X12.2014_P = c(0, 0.0247567176401135,0, 0, 0, 0, NA, 0.0644873257602064, 0, NA), X01.2015_P = c(0,0, 0, 0, 0, 0, NA, 0, 0, NA), X02.2015_P = c(0, 0, 0, 0,0, 0, NA, 0, 0, NA), X03.2015_P = c(0, 0, 0, 0, 0, 0, NA,0, 0, NA), X04.2015_P = c(0, 0, 0, 0.0451075641915337, 0.0418060200668896,0.0822628614819971, NA, 0, 0, NA), X05.2015_P = c(0, 0, 0,0, 0, 0, NA, 0, 0, NA), X06.2015_P = c(0, 0.0247567176401135,0, 0, 0, 0, NA, 0, 0, NA), X07.2015_P = c(0, 0, 0, 0, 0,0, NA, 0, 0, NA), X08.2015_P = c(0.0559560959862262, 0, 0.0430534856764365,0, 0, 0, NA, 0, 0.0314032417808054, NA), X09.2015_P = c(0,0, 0, 0, 0, 0, NA, 0, 0, NA), X10.2015_P = c(0, 0, 0, 0,0, 0, NA, 0, 0, NA), X11.2015_P = c(0, 0, 0, 0, 0, 0, NA,0.0322436628801032, 0, NA), X12.2015_P = c(0, 0.0247567176401135,0, 0, 0, 0, NA, 0, 0, NA)), row.names = c(1L, 2L, 3L, 4L,5L, 6L, 7L, 171L, 172L, 173L), class = "data.frame") 

==X==============================================================X==

Я использовал этот код для построения:

months_total_f052$MUN_RESID <- as.factor(months_total_f052$MUN_RESID)

barchart(months_total_f052,     X08.2005_P+X09.2005_P+X10.2005_P+X11.2005_P+X12.2005_P+X01.2006_P+X02.2006_P+X03.2006_P+X04.2006_P+X05.2006_P+X06.2006_P+X07.2006_P+X08.2006_P+X09.2006_P+X10.2006_P+X11.2006_P+X12.2006_P+
X01.2007_P+X02.2007_P+X03.2007_P+X04.2007_P+X05.2007_P+X06.2007_P+X07.2007_P+X08.2007_P+X09.2007_P+X10.2007_P+X11.2007_P+X12.2007_P+
X01.2008_P+X02.2008_P+X03.2008_P+X04.2008_P+X05.2008_P+X06.2008_P+X07.2008_P+X08.2008_P+X09.2008_P+X10.2008_P+X11.2008_P+X12.2008_P+
X01.2009_P+X02.2009_P+X03.2009_P+X04.2009_P+X05.2009_P+X06.2009_P+X07.2009_P+X08.2009_P+X09.2009_P+X10.2009_P+X11.2009_P+X12.2009_P+
X01.2010_P+X02.2010_P+X03.2010_P+X04.2010_P+X05.2010_P+X06.2010_P+X07.2010_P+X08.2010_P+X09.2010_P+X10.2010_P+X11.2010_P+X12.2010_P+
X01.2011_P+X02.2011_P+X03.2011_P+X04.2011_P+X05.2011_P+X06.2011_P+X07.2011_P+X08.2011_P+X09.2011_P+X10.2011_P+X11.2011_P+X12.2011_P+
X01.2012_P+X02.2012_P+X03.2012_P+X04.2012_P+X05.2012_P+X06.2012_P+X07.2012_P+X08.2012_P+X09.2012_P+X10.2012_P+X11.2012_P+X12.2012_P+
X01.2013_P+X02.2013_P+X03.2013_P+X04.2013_P+X05.2013_P+X06.2013_P+X07.2013_P+X08.2013_P+X09.2013_P+X10.2013_P+X11.2013_P+X12.2013_P+
X01.2014_P+X02.2014_P+X03.2014_P+X04.2014_P+X05.2014_P+X06.2014_P+X07.2014_P+X08.2014_P+X09.2014_P+X10.2014_P+X11.2014_P+X12.2014_P+
X01.2015_P+X02.2015_P+X03.2015_P+X04.2015_P+X05.2015_P+X06.2015_P+X07.2015_P+X08.2015_P+X09.2015_P+X10.2015_P+X11.2015_P+X12.2015_P ~ MUN_RESID, data = months_total_f052, auto.key = list(space = 'left'), horiz = FALSE, ylab="percent_dead", scales=list(x=list(rot=90)))

barchartb4

1 Ответ

3 голосов
/ 10 мая 2019

Это может быть то, что вы после? Я думаю, что с кучей данных «маленькие мультипликаторы» - достойный подход. Без вашего полного набора данных, я не думаю, что вы получите картину, но стоит попробовать:

library(tidyverse)

dat <- tribble(
~"MUN_RESID", ~"X08.2005_P", ~"X09.2005_P", ~"X10.2005_P", ~"X11.2005_P", ~"X12.2005_P",
120043, 0.00000000, 0.22382438, 0.02797805, 0.00000000, 0.00000000,
    150775, 0.00000000, 0.02475672, 0.00000000, 0.00000000, 0.00000000,
    170025, 0.00000000, 0.00000000, 0.00000000, 0.04305349, 0.00000000,
    170382, 0.04510756, 0.00000000, 0.00000000, 0.00000000, 0.00000000,
    171180, 0.00000000, 0.04180602, 0.00000000, 0.00000000, 0.00000000,
    171525, 0.04113143, 0.00000000, 0.00000000, 0.00000000, 0.00000000,
    172025, 0.00000000, 0.00000000, 0.00000000, 0.00000000, 0.03480216,
)

# We need to convert the data long ways

long_data <- dat %>% 
    gather(date, value, - MUN_RESID) %>% 
    separate(col = date, into = c("month", "year"), sep = "\\.") %>% 
    mutate(month = str_extract(month, "\\d+") %>% parse_double()) %>% 
    mutate(year = str_extract(year, "\\d+") %>% parse_double()) %>% 
    mutate(my_month = factor(month))

# Now we can graph
long_data %>% 
    ggplot(aes(MUN_RESID, value)) +
    facet_wrap(~year)+
    geom_col(aes(fill = my_month), position = "dodge", stat="identity")+
    coord_flip()+
    theme_minimal()
...