GGPlot - перемещение меток facet_wrap y влево и горизонтальное расположение текста - PullRequest
1 голос
/ 26 мая 2020

Я пробовал существующие ответы, но ни один из них не дал мне результата, который я ищу. Был бы очень признателен за помощь. Я хочу создать диаграмму, подобную приведенной ниже, с осью Y, показывающей семейство и виды:

What I'm aiming for: Я использовал facet-wrap, но это помещает линии между семьями, сдавливая их, и вы не можете прочитать фамилии. Я бы хотел расположить их как «Группа A, Группа B» в данном примере (ie, слева от названий видов, горизонтальный текст и с линиями между ними вместо пробелов в диаграмме).

Вот что я создал на данный момент:.

Without facet_wrap on Y=axis, I'd like to retain this spacing

А вот с facet_wrap от Family на Y- ось:

enter image description here

Вот мой код на данный момент:

  ggplot(lower[lower$Value != 0,], aes(x=Sample, y=Species)) +
  geom_point(aes(size=Value, alpha = 0.75)) +
  scale_x_discrete(labels= xlabels, drop = TRUE) +
  theme(axis.title.x = element_blank(),
        axis.title.y = element_blank(),
        axis.text.y = element_text(size=5),
        axis.text.x = element_text(size=7),
        legend.position = "right",
        strip.placement = "outside") +
  scale_alpha(guide = "none") +
  facet_grid(Family ~ Year, scales = "free", space = "free") +
  scale_size_area("Frequency", limits = c(1, 20), breaks = c(1, 2, 5, 10, 20),
                  labels = c("One sighting", "Rare", "Uncommon", "Common", "Very common"))

И примеры данных ниже.

EDIT : Убрали интервал и переключили ось Y согласно комментариям Романа. Попасть туда. Просто нужно добавить разделительные линии между семействами и повернуть текст по горизонтали. Новый код:

    ggplot(lower[lower$Value != 0,], aes(x=Sample, y=Species)) +
  geom_point(aes(size=Value, alpha = 0.75)) +
  scale_x_discrete(labels= xlabels, drop = TRUE) +
  theme(axis.title.x = element_blank(),
        axis.title.y = element_blank(),
        axis.text.y = element_text(size=5),
        axis.text.x = element_text(size=7),
        panel.spacing.y = unit(0, "lines"),
        legend.position = "right",
        strip.placement = "outside") +
  scale_alpha(guide = "none") +
  facet_grid(Family ~ Year, scales = "free", space = "free", switch = "y") +
  scale_size_area("Frequency", limits = c(1, 20), breaks = c(1, 2, 5, 10, 20),
                  labels = c("One sighting", "Rare", "Uncommon", "Common", "Very common"))

И новый график (далее планируется исправить вертикальные интервалы / перекрытия):

New plot

Большое спасибо

{структура (список (Год = c («1984 - 1989», «2017 - 2020», «1984 - 1989», «2017 - 2020», «1984 - 1989», «2017 - 2020 »,« 1984 - 1989 »,« 2017 - 2020 »,« 1984 - 1989 »,« 2017 - 2020 »,« 1984 - 1989 »,« 2017 - 2020 »,« 1984 - 1989 »,« 2017 - 2020 », «1984 - 1989», «2017 - 2020», «1984 - 1989», «2017 - 2020», «1984 - 1989», «2017 - 2020», «1984 - 1989», «2017 - 2020», «1984» - 1989 »,« 2017 - 2020 »,« 1984 - 1989 »,« 2017 - 2020 »,« 1984 - 1989 »,« 2017 - 2020 »,« 1984 - 1989 »,« 2017 - 2020 »,« 1984 - 1989 » »,« 2017 - 2020 »,« 1984 - 1989 »,« 2017 - 2020 »,« 1984 - 1989 »,« 2017 - 2020 »,« 1984 - 1989 »,« 2017 - 2020 »,« 1984 - 1989 », «2017 - 2020», «1984 - 1989», «2017 - 2020», «1984 - 1989», «2017 - 2020», «1984 - 1989», «2017 - 2020», «1984 - 1989», «2017» - 2020 »,« 1984 - 1989 »,« 2017 - 2020 »,« 1984 - 1989 »,« 2017 - 2020 »,« 1984 - 1989 »,« 2017 - 2020 », «1984 - 1989», «2017 - 2020», «1984 - 1989», «2017 - 2020», «1984 - 1989», «2017 - 2020», «1984 - 1989», «2017 - 2020», «1984» - 1989 »,« 2017 - 2020 »,« 1984 - 1989 »,« 2017 - 2020 »,« 1984 - 1989 »,« 2017 - 2020 »,« 1984 - 1989 »,« 2017 - 2020 »,« 1984 - 1989 » "," 2017 - 2020 "), Sample = структура (c (1L, 5L, 2L, 6L, 3L, 7L, 4L, 8L, 1L, 5L, 2L, 6L, 3L, 7L, 4L, 8L, 1L , 5L, 2L, 6L, 3L, 7L, 4L, 8L, 1L, 5L, 2L, 6L, 3L, 7L, 4L, 8L, 1L, 5L, 2L, 6L, 3L, 7L, 4L, 8L, 1L, 5L , 2L, 6L, 3L, 7L, 4L, 8L, 1L, 5L, 2L, 6L, 3L, 7L, 4L, 8L, 1L, 5L, 2L, 6L, 3L, 7L, 4L, 8L, 1L, 5L, 2L , 6L, 3L, 7L, 4L, 8L), .Label = c ("Developed_zone_1992", "Paddock_zone_1992", "Sanctuary_zone_1992", "Greatest_frequency_1992", "Developed_zone_2020", "Paddock_zone_20ctuary_2020" ), class = "factor"), значение = c (10L, 1L, 10L, 5L, 5L, 5L, 10L, 5L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 1L, 5L, 0L , 10L, 10L, 5L, 10L, 10L, 10L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 5L, 2L, 5L, 2L, 5L, 2L, 0L, 0L , 2L, 0L, 10L, 0L, 10L, 0L, 10L, 0L, 2L, 5L, 2L, 5L, 10L, 5L, 0L, 20L, 0L, 20L, 0L, 20L, 0L, 20L, 2L, 5L, 0L , 5L, 0L, 5L, 2L, 5L), Семья = структура (c (16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 17L, 17L, 17L, 17L, 17L, 17L, 17L, 17L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 19L, 19L, 19L, 19L, 19L, 19L, 19L, 19L, 19L, 19L, 19L, 19L, 19L, 19L, 19L, 19L), .Label = c («Laridae», «Ciconiidae», «Phalacrocoracidae», «Threskiornithidae», «Ardeidae», «Accipitridae», «Tytonidae», «Strigidae», «Upupidae», «Coraciidae», «Alcedinidae», «Meropidae», «Picidae», «Falconidae», «Psittaculidae», «Laniidae», «Corvidae», «Alaudidae», «Pycnonotidae», «Hirundinidae» ", «Phylloscopidae», «Acrocephalidae», «Cisticolidae», «Leiothrichidae», «Sylviidae», «Sturnidae», «Turdidae», «Muscicapidae», «Nectariniidae», «Ploceidae», «Estrildacillidae», «Motacillidae», «Motacillidae» "), class =" factor "), Species = structure (c (69L, 69L, 69L, 69L, 69L, 69L, 69L, 69L, 68L, 68L, 68L, 68L, 68L, 68L, 68L, 68L, NA, NA, NA, NA, NA, NA, NA, NA, 66L, 66L, 66L, 66L, 66L, 66L, 66L, 66L, 65L, 65L, 65L, 65L, 65L, 65L, 65L, 65L, 64L, 64L, 64L, 64L, 64L, 64L, 64L, 64L, 63L, 63L, 63L, 63L, 63L, 63L, 63L, 63L, 62L, 62L, 62L, 62L, 62L, 62L, 62L, 62L, 61L, 61L, 61L, 61L, 61L, 61L, 61L, 61L), .Label = c («142. Черноголовая овсянка (1177)», «141. Rusti c овсянка (1174)», «140. Полосатая овсянка. (1167) »,« 139. Кавказский конек (1100) »,« 138. Древесный конек (1093) »,« 137. Рыжий конек (1090) »,« 136. Конек Ричарда (1086) »,« 135. Белый трясогузка (1076) »,« 134. Серая трясогузка (1075) »,« 133. Цитрин западная трясогузка (1073) »,« 132. Синеголовая трясогузка (1060) »,« 131. Чешуйчатая трясогузка. (1046) "," 130. Индийская серебрянная банкнота (1045) "," 129. Красный авадават (1042) "," 128. Мелированная ткачиха (1033) "," 127. Желтогорлый воробей (1024) "," 126. Воробей домовой (1007) »,« 125. Пурпурная солнечная птица (1005) "," 124. Краснохвостый камыш (997) "," 123. Камчатка Юма (988) "," 122. Пырка пестрая (978) "," 121. Каменчик черноухий (976) "," 120. Камчатка пустынная (975) »,« 119. Isabelline Wheatear (973) "," 118. Очиток европейский (963) »,« 117. Whinchat (960) "," 116. Western Blue Rock через sh (957) "," 115. Обычный рок через sh (955) "," 114. Горихвостка обыкновенная (948) »,« 113. Среднеазиатская черная горихвостка (945) »,« 112. Мухоловка краснозобая (938) "," 111. Мухоловка полуошейник (937) "," 110. Краснопятнистая варакушка (921) "," 109. Мухоловка пятнистая (911) »,« 108. Краснохвостая малиновка (908) "," 107. Чернозобый через sh (899) "," 106. Великолепный скворец (884) "," 105. Плетеный скворец (883) "," 104. Скворец обыкновенный (882) »,« 103. Майна обыкновенная (875) "," 102. Соловьиная птица Менетрия (849) "," 101. Азиатская камышевка пустынная (824) "," 100. Белокурая пустынная (834) »,« 99. Малая баранка (833) "," 98. Арабский лепет (827) "," 97. Изящная приня (818) "," 96. Соловка Апчера (804) "," 95. Певица оливковая (802) "," 94. Мар sh певчая птица (798) "," 93. Индийская камышевка (787) "," 92. Большая камышевка (784) "," 91. Соловьиная птица sp. "," 90. Шутка обыкновенная (773) "," 89. Ивовая камышовка (770) "," 88. Ласточка рыжая (746) "," 87. Общий дом «Мартин (741)», «86. Бледный скальный мартин (740) "," 85. Евразийская ласточка (735) »,« 84. Песчаный мартин (731) "," 83. Бюльбюль с белыми очками (724) "," 82. Бюльбюль красный вентилируемый (725) "," 81. Бюльбюль ушастый (724) "," 80. Хохлатый жаворонок (702) "," 79. Воробей-жаворонок (696) "," 78. Коричневый ворон (662) "," 77. Сорокопут в маске (630) "," 76. Сорокопут серый (623) "," 75. Туркестанский сорокопут (619) »,« 74. Даурский сорокопут (618) "), class =" factor ")), row.names = c (NA, 72L), class =" data.frame ")}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...