Overview:
In this instance, I am attempting to produce side-by-side boxplots showing four boxes per parameter per category underneath each parameter.
I have a data frame called 'CanStandPhenUrbFinal2' (see below) containing 4 columns: (1) Key_Parameters; (2) Latitude; (3) Canopy_Index; and (4) Category_Index
The idea is to establish how latitude affects the canopy cover index (%) of deciduous oak trees.
Key Parameters Index Categories:
-
Urbanisation Index: 1=Urban, 2=Suburban, 3=village, 4=rural
-
Stand Density Index:: 1=standing alone, 2=within a few trees or close proximity to other trees, 3=within a stand of 10-30 trees, and 4=large or woodland
-
Phenological Index: 1=no indication of autumn timing, 2=first autumn tinting, 3=partial autumn tinting (>25% of leaves), and 4=advanced autumn tinting (>75% of leaves)
The goal
-
Lattitude and Canopy Cover (dual y-axis)
-
Key Parameters (x-axis)
-
The boxes should denote the canopy cover index (%) per category per parameter
Any suggestions how to do that? Any help will be really appreciated!
R-code
##Produce a Plot for all key parameters
##Observation 1
dev.new()
QuercusParameterLat1<-ggplot(MeltedParameterLatitude1, aes(x = Key_Parameters, y =
Latitude, fill=Category_Index)) +
geom_boxplot() +
theme(axis.text.x = element_text(angle = 15, hjust = 1), text = element_text(size=10)) +
scale_x_discrete(labels=c("Stand Density Index", "Urbansiation Index", "Phenological Index"))+
theme(panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank()) +
theme(axis.line.x = element_line(color="black", size = 0.8),
axis.line.y = element_line(color="black", size = 0.8)) +
labs(x = "Key Parameters", y = "Latitude", size = 0.5) +
theme(legend.position="right")
##Produce the legend
p11 <- QuercusParameterLat1 + guides(fill=guide_legend(title="Parameter Categories"))
# now adding the secondary axis, following the example in the help file ?scale_y_continuous
# and, very important, reverting the above transformation
p <- p11 + scale_y_continuous(sec.axis = sec_axis(~.+1, name = "Canopy Index %"))
Data frame*
structure(list(Key_Parameters = structure(c(1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L), .Label = c("Stand_density_.index",
"Urbanisation_index", "Phenological_Index", "Canopy_Index"), class = "factor"),
Latitude = c(51.41752, 52.243806, 52.947709, 52.947709, 51.491811,
51.491811, 51.60157, 51.60157, 52.68959, 52.68959, 52.68959,
52.68959, 50.697802, 50.697802, 50.697802, 50.697802, 53.62417,
53.62417, 50.446841, 50.446841, 53.959679, 53.959679, 53.959679,
53.959679, 51.78375, 51.78375, 51.78375, 51.78375, 51.456965,
51.456965, 51.456965, 51.456965, 52.011812, 52.011812, 52.011812,
52.011812, 50.121978, 50.121978, 51.43474, 51.43474, 51.10708,
51.10708, 51.10708, 51.10708, 50.435984, 50.435984, 50.435984,
50.435984, 51.78666, 51.78666, 52.441088, 52.441088, 52.552344,
49.259471, 49.259471, 49.259471, 49.259471, 50.462, 50.462,
50.462, 50.462, 51.746642, 51.746642, 51.746642, 51.746642,
52.2501, 52.2501, 52.2501, 52.2501, 52.42646, 52.42646, 52.42646,
52.42646, 53.615575, 53.615575, 53.615575, 53.615575, 51.08478,
51.08478, 51.08478, 53.19329, 53.19329, 53.19329, 53.19329,
55.968437, 55.968437, 56.52664, 56.52664, 56.52664, 56.52664,
51.8113, 51.8113, 51.8113, 51.8113, 50.52008, 50.52008, 50.52008,
50.52008, 51.48417, 51.48417, 51.48417, 51.48417, 54.58243,
54.58243, 54.58243, 54.58243, 52.58839, 52.58839, 52.58839,
52.58839, 52.717283, 52.717283, 52.717283, 52.717283, 50.740764,
50.740764, 50.740764, 50.740764, 50.733412, 50.733412, 50.79926,
50.79926, 50.79926, 53.675788, 53.675788, 48.35079, 48.35079,
48.35079, 48.35079, 51.36445, 51.36445, 51.36445, 51.36445,
52.122402, 52.122402, 52.122402, 52.16104, 52.16104, 51.88468,
51.88468, 51.88468, 51.88468, 52.34015, 52.34015, 52.34015,
52.026042, 52.026042, 52.026042, 52.026042, 51.319032, 51.319032,
51.319032, 51.319032, 51.51365, 51.51365, 51.51365, 51.51365,
53.43202, 53.43202, 53.43202, 53.43202, 51.50797, 51.50797,
51.50797, 51.50797, 51.41752, 52.243806, 52.947709, 52.947709,
51.491811, 51.491811, 51.60157, 51.60157, 52.68959, 52.68959,
52.68959, 52.68959, 50.697802, 50.697802, 50.697802, 50.697802,
53.62417, 53.62417, 50.446841, 50.446841, 53.959679, 53.959679,
53.959679, 53.959679, 51.78375, 51.78375, 51.78375, 51.78375,
51.456965, 51.456965, 51.456965, 51.456965, 52.011812, 52.011812,
52.011812, 52.011812, 50.121978, 50.121978, 51.43474, 51.43474,
51.10708, 51.10708, 51.10708, 51.10708, 50.435984, 50.435984,
50.435984, 50.435984, 51.78666, 51.78666, 52.441088, 52.441088,
52.552344, 49.259471, 49.259471, 49.259471, 49.259471, 50.462,
50.462, 50.462, 50.462, 51.746642, 51.746642, 51.746642,
51.746642, 52.2501, 52.2501, 52.2501, 52.2501, 52.42646,
52.42646, 52.42646, 52.42646, 53.615575, 53.615575, 53.615575,
53.615575, 51.08478, 51.08478, 51.08478, 53.19329, 53.19329,
53.19329, 53.19329, 55.968437, 55.968437, 56.52664, 56.52664,
56.52664, 56.52664, 51.8113, 51.8113, 51.8113, 51.8113, 50.52008,
50.52008, 50.52008, 50.52008, 51.48417, 51.48417, 51.48417,
51.48417, 54.58243, 54.58243, 54.58243, 54.58243, 52.58839,
52.58839, 52.58839, 52.58839, 52.717283, 52.717283, 52.717283,
52.717283, 50.740764, 50.740764, 50.740764, 50.740764, 50.733412,
50.733412, 50.79926, 50.79926, 50.79926, 53.675788, 53.675788,
48.35079, 48.35079, 48.35079, 48.35079, 51.36445, 51.36445,
51.36445, 51.36445, 52.122402, 52.122402, 52.122402, 52.16104,
52.16104, 51.88468, 51.88468, 51.88468, 51.88468, 52.34015,
52.34015, 52.34015, 52.026042, 52.026042, 52.026042, 52.026042,
51.319032, 51.319032, 51.319032, 51.319032, 51.51365, 51.51365,
51.51365, 51.51365, 53.43202, 53.43202, 53.43202, 53.43202,
51.50797, 51.50797, 51.50797, 51.50797, 51.41752, 52.243806,
52.947709, 52.947709, 51.491811, 51.491811, 51.60157, 51.60157,
52.68959, 52.68959, 52.68959, 52.68959, 50.697802, 50.697802,
50.697802, 50.697802, 53.62417, 53.62417, 50.446841, 50.446841,
53.959679, 53.959679, 53.959679, 53.959679, 51.78375, 51.78375,
51.78375, 51.78375, 51.456965, 51.456965, 51.456965, 51.456965,
52.011812, 52.011812, 52.011812, 52.011812, 50.121978, 50.121978,
51.43474, 51.43474, 51.10708, 51.10708, 51.10708, 51.10708,
50.435984, 50.435984, 50.435984, 50.435984, 51.78666, 51.78666,
52.441088, 52.441088, 52.552344, 49.259471, 49.259471, 49.259471,
49.259471, 50.462, 50.462, 50.462, 50.462, 51.746642, 51.746642,
51.746642, 51.746642, 52.2501, 52.2501, 52.2501, 52.2501,
52.42646, 52.42646, 52.42646, 52.42646, 53.615575, 53.615575,
53.615575, 53.615575, 51.08478, 51.08478, 51.08478, 53.19329,
53.19329, 53.19329, 53.19329, 55.968437, 55.968437, 56.52664,
56.52664, 56.52664, 56.52664, 51.8113, 51.8113, 51.8113,
51.8113, 50.52008, 50.52008, 50.52008, 50.52008, 51.48417,
51.48417, 51.48417, 51.48417, 54.58243, 54.58243, 54.58243,
54.58243, 52.58839, 52.58839, 52.58839, 52.58839, 52.717283,
52.717283, 52.717283, 52.717283, 50.740764, 50.740764, 50.740764,
50.740764, 50.733412, 50.733412, 50.79926, 50.79926, 50.79926,
53.675788, 53.675788, 48.35079, 48.35079, 48.35079, 48.35079,
51.36445, 51.36445, 51.36445, 51.36445, 52.122402, 52.122402,
52.122402, 52.16104, 52.16104, 51.88468, 51.88468, 51.88468,
51.88468, 52.34015, 52.34015, 52.34015, 52.026042, 52.026042,
52.026042, 52.026042, 51.319032, 51.319032, 51.319032, 51.319032,
51.51365, 51.51365, 51.51365, 51.51365, 53.43202, 53.43202,
53.43202, 53.43202, 51.50797, 51.50797, 51.50797, 51.50797,
51.41752, 52.243806, 52.947709, 52.947709, 51.491811, 51.491811,
51.60157, 51.60157, 52.68959, 52.68959, 52.68959, 52.68959,
50.697802, 50.697802, 50.697802, 50.697802, 53.62417, 53.62417,
50.446841, 50.446841, 53.959679, 53.959679, 53.959679, 53.959679,
51.78375, 51.78375, 51.78375, 51.78375, 51.456965, 51.456965,
51.456965, 51.456965, 52.011812, 52.011812, 52.011812, 52.011812,
50.121978, 50.121978, 51.43474, 51.43474, 51.10708, 51.10708,
51.10708, 51.10708, 50.435984, 50.435984, 50.435984, 50.435984,
51.78666, 51.78666, 52.441088, 52.441088, 52.552344, 49.259471,
49.259471, 49.259471, 49.259471, 50.462, 50.462, 50.462,
50.462, 51.746642, 51.746642, 51.746642, 51.746642, 52.2501,
52.2501, 52.2501, 52.2501, 52.42646, 52.42646, 52.42646,
52.42646, 53.615575, 53.615575, 53.615575, 53.615575, 51.08478,
51.08478, 51.08478, 53.19329, 53.19329, 53.19329, 53.19329,
55.968437, 55.968437, 56.52664, 56.52664, 56.52664, 56.52664,
51.8113, 51.8113, 51.8113, 51.8113, 50.52008, 50.52008, 50.52008,
50.52008, 51.48417, 51.48417, 51.48417, 51.48417, 54.58243,
54.58243, 54.58243, 54.58243, 52.58839, 52.58839, 52.58839,
52.58839, 52.717283, 52.717283, 52.717283, 52.717283, 50.740764,
50.740764, 50.740764, 50.740764, 50.733412, 50.733412, 50.79926,
50.79926, 50.79926, 53.675788, 53.675788, 48.35079, 48.35079,
48.35079, 48.35079, 51.36445, 51.36445, 51.36445, 51.36445,
52.122402, 52.122402, 52.122402, 52.16104, 52.16104, 51.88468,
51.88468, 51.88468, 51.88468, 52.34015, 52.34015, 52.34015,
52.026042, 52.026042, 52.026042, 52.026042, 51.319032, 51.319032,
51.319032, 51.319032, 51.51365, 51.51365, 51.51365, 51.51365,
53.43202, 53.43202, 53.43202, 53.43202, 51.50797, 51.50797,
51.50797, 51.50797), Category_Index = structure(c(3L, 4L,
2L, 2L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L, 4L,
4L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L,
3L, 3L, 3L, 3L, 3L, 2L, 3L, 3L, 2L, 2L, 4L, 4L, 3L, 3L, 3L,
3L, 4L, 3L, 4L, 4L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 3L, 4L, 4L, 4L, 4L, 2L, 2L,
2L, 2L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 2L,
2L, 2L, 2L, 3L, 3L, 3L, 2L, 4L, 4L, 4L, 4L, 4L, 4L, 2L, 2L,
2L, 2L, 4L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L,
4L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 3L, 3L, 3L,
3L, 4L, 4L, 4L, 2L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 4L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L,
3L, 4L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 3L,
3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 4L, 4L, 4L, 4L, 1L, 1L, 4L, 4L, 4L, 4L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 4L, 4L, 2L, 2L,
2L, 3L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 4L,
4L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 4L, 4L, 4L,
4L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 4L, 4L,
3L, 4L, 2L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 2L, 3L, 3L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), .Label = c("1",
"2", "3", "4"), class = "factor")), class = "data.frame", row.names = c(NA,
-660L))