Skip to content

Instantly share code, notes, and snippets.

@ikashnitsky
Created September 21, 2021 20:19
Show Gist options
  • Save ikashnitsky/cf22445f6eea81ab44266faa417b57f8 to your computer and use it in GitHub Desktop.
Save ikashnitsky/cf22445f6eea81ab44266faa417b57f8 to your computer and use it in GitHub Desktop.
Visualize the results of Russian parliament voting 2021 in the 15 voting districts of Moscow
#===============================================================================
# 2021-09-21 -- Moscow elections
# Clean data and visualize ternary compositions
# Ilya Kashnitsky, [email protected], @ikashnitsky
#===============================================================================
library(tidyverse)
library(magrittr)
library(ggdark)
library(hrbrthemes)
library(showtext)
library(ggtern)
# source of data, copied manually using datapasta
# https://meduza.io/slides/moskovskoe-elektronnoe-golosovanie-eto-chto-to-s-chem-to-posmotrite-kak-ono-pomenyalo-rezultaty-vyborov-v-okrugah-gde-pobezhdala-oppozitsiya
# a func to clean up tables from vectors
vec_to_tibble <- function(vec, okrug = NULL, adm_pos = NULL, opp_pos = NULL){
mat <- vec %>% matrix(ncol = 7, byrow = T)
type <- rep("X", nrow(mat))
type[adm_pos] <- "A"
type[opp_pos] <- "O"
out <- mat %>%
as_tibble() %>%
set_names(
c("name", "live", "online", "overall", "live_p", "online_p", "overall_p")
) %>%
mutate(
district = okrug,
mark = type
)
return(out)
}
d196 <- c("Баженов Тимофей Тимофеевич", "36719", "55803", "92522", "30,29%", "46,63%", "38,40%", "Вихарева Эльвира Владимировна", "2852", "2925", "5777", "2,35%", "2,44%", "2,40%", "Иванова Елена Ивановна", "1340", "1037", "2377", "1,11%", "0,87%", "0,99%", "Крюков Алексей Сергеевич", "4637", "5604", "10241", "3,82%", "4,68%", "4,25%", "Малинкович Сергей Александрович", "3865", "2835", "6700", "3,19%", "2,37%", "2,78%", "Миронова Виктория Александровна", "5795", "6888", "12683", "4,78%", "5,76%", "5,26%", "Рашкин Валерий Федорович", "38357", "20729", "59086", "31,64%", "17,32%", "24,53%", "Рвачев Алексей Сергеевич", "4687", "6958", "11645", "3,87%", "5,81%", "4,83%", "Стрельникова Елена Николаевна", "2353", "2360", "4713", "1,94%", "1,97%", "1,96%", "Тарасов Антон Александрович", "2041", "2755", "4796", "1,68%", "2,30%", "1,99%", "Федоров Георгий Владимирович", "7812", "7213", "15025", "6,44%", "6,03%", "6,24%", "Янков Кирилл Вадимович", "4603", "4572", "9175", "3,80%", "3,82%", "3,81%") %>%
vec_to_tibble(okrug = 196, adm_pos = 1, opp_pos = 7)
d197 <- c("Бальмонт Борис Александрович", "4559", "7150", "11709", "3,86%", "6,39%", "5,09%", "Глек Игорь Владимирович", "1874", "3599", "5473", "1,59%", "3,22%", "2,38%", "Гончаров Кирилл Алексеевич", "6751", "4897", "11648", "5,71%", "4,38%", "5,06%", "Горшкова Владислава Геннадиевна", "2474", "2962", "5436", "2,09%", "2,65%", "2,36%", "Лобанов Михаил Сергеевич", "46129", "26676", "72805", "39,03%", "23,86%", "31,65%", "Меньшиков Михаил Васильевич", "1900", "1704", "3604", "1,61%", "1,52%", "1,57%", "Митина Дарья Александровна", "3818", "2675", "6493", "3,23%", "2,39%", "2,82%", "Попов Евгений Георгиевич", "34305", "46589", "80894", "29,03%", "41,66%", "35,17%", "Раменский Павел Олегович", "3742", "6733", "10475", "3,17%", "6,02%", "4,55%", "Соболев Алексей Анатольевич", "1935", "1854", "3789", "1,64%", "1,66%", "1,65%", "Тарнавский Александр Георгиевич", "6435", "6986", "13421", "5,44%", "6,25%", "5,84%") %>%
vec_to_tibble(okrug = 197, adm_pos = 8, opp_pos = 5)
d198 <- c("Андрианова Зоя Алексеевна", "3289", "6746", "10035", "2,76%", "5,61%", "4,19%", "Балабуткин Алексей Алексеевич", "3988", "3744", "7732", "3,34%", "3,11%", "3,23%", "Брюханова Анастасия Андреевна", "32405", "23359", "55764", "27,14%", "19,43%", "23,28%", "Власов Василий Максимович", "4923", "7320", "12243", "4,12%", "6,09%", "5,11%", "Голуенко Алиса Владимировна", "1456", "1912", "3368", "1,22%", "1,59%", "1,41%", "Звягинцев Петр Семенович", "16116", "11470", "27586", "13,50%", "9,54%", "11,51%", "Катаев Виктор Филиппович", "3406", "5352", "8758", "2,85%", "4,45%", "3,66%", "Литвинович Марина Алексеевна", "9757", "8513", "18270", "8,17%", "7,08%", "7,63%", "Мельников Алексей Владимирович", "2558", "4900", "7458", "2,14%", "4,08%", "3,11%", "Тарбаев Сангаджи Андреевич", "4392", "8432", "12824", "3,68%", "7,01%", "5,35%", "Хованская Галина Петровна", "30500", "38459", "68959", "25,55%", "31,99%", "28,78%") %>%
vec_to_tibble(okrug = 198, adm_pos =11, opp_pos = 3)
d199 <- c("Бадмаев Владимир Владимирович", "2411", "3793", "6204", "2,08%", "2,80%", "2,47%", "Балыкова Анна Григорьевна", "4469", "4516", "8985", "3,85%", "3,33%", "3,57%", "Гулина Зинаида Ивановна", "1405", "1654", "3059", "1,21%", "1,22%", "1,22%", "Гуличева Елена Геннадьевна", "28136", "21336", "49472", "24,25%", "15,75%", "19,67%", "Катков Валерий Семенович", "2995", "4727", "7722", "2,58%", "3,49%", "3,07%", "Киселёв Роман Денисович", "2701", "3125", "5826", "2,33%", "2,31%", "2,32%", "Кульнев Иван Анатольевич", "5402", "6678", "12080", "4,66%", "4,93%", "4,80%", "Прохоренкова Мария Андреевна", "4502", "8299", "12801", "3,88%", "6,12%", "5,09%", "Рашкин Валерий Владимирович", "5901", "4442", "10343", "5,09%", "3,28%", "4,11%", "Тарасов Денис Васильевич", "854", "1580", "2434", "0,74%", "1,17%", "0,97%", "Толстой Петр Олегович", "48899", "66558", "115457", "42,15%", "49,12%", "45,91%", "Шах Андрей Викторович", "2961", "5825", "8786", "2,55%", "4,30%", "3,49%", "Шоладеми Самсон Бартоломиувич", "1572", "2961", "4533", "1,36%", "2,19%", "1,80%") %>%
vec_to_tibble(okrug = 199, adm_pos = 11, opp_pos = 4)
d200 <- c("Анисимкова Полина Николаевна", "2612", "5379", "7991", "2,56%", "4,51%", "3,61%", "Арбузов Андрей Александрович", "1067", "1607", "2674", "1,05%", "1,35%", "1,21%", "Бабушкин Андрей Владимирович", "5786", "7703", "13489", "5,68%", "6,45%", "6,10%", "Вельмакин Михаил Вадимович", "1766", "3685", "5451", "1,73%", "3,09%", "2,46%", "Загребной Юрий Леонтьевич", "7878", "10033", "17911", "7,73%", "8,41%", "8,09%", "Запотылок Евгений Васильевич", "3427", "5945", "9372", "3,36%", "4,98%", "4,24%", "Орлов Михаил Викторович", "2771", "2227", "4998", "2,72%", "1,87%", "2,26%", "Парфенов Денис Андреевич", "34538", "23504", "58042", "33,89%", "19,69%", "26,23%", "Певцов Дмитрий Анатольевич", "32133", "52460", "84593", "31,53%", "43,95%", "38,23%", "Степкин Евгений Валериевич", "3962", "6812", "10774", "3,89%", "5,71%", "4,87%") %>%
vec_to_tibble(okrug = 200, adm_pos = 9, opp_pos = 8)
d201 <- c("Абдуганиев Назиржон Насибжонович", "1443", "1772", "3215", "1,26%", "1,55%", "1,41%", "Бернев Владимир Владимирович", "5523", "8279", "13802", "4,83%", "7,24%", "6,04%", "Гаспарян Армен Сумбатович", "8379", "8406", "16785", "7,33%", "7,36%", "7,34%", "Демин Алексей Викторович", "8332", "13426", "21758", "7,29%", "11,75%", "9,52%", "Куликов Денис Павлович", "3580", "3287", "6867", "3,13%", "2,88%", "3,00%", "Разворотнева Светлана Викторовна", "33931", "47733", "81664", "29,68%", "41,77%", "35,72%", "Туманов Глеб Николаевич", "4399", "4337", "8736", "3,85%", "3,79%", "3,82%", "Удалова Анна Михайловна", "5858", "2986", "8844", "5,12%", "2,61%", "3,87%", "Удальцова Анастасия Олеговна", "35537", "22303", "57840", "31,09%", "19,51%", "25,30%", "Черников Станислав Валентинович", "1828", "1758", "3586", "1,60%", "1,54%", "1,57%") %>%
vec_to_tibble(okrug = 201, adm_pos = 6, opp_pos = 9)
d202 <- c("Андрусенко Наталия Юрьевна", "12130", "6959", "19089", "7,17%", "4,43%", "5,85%", "Богатов Сергей Владимирович", "4136", "2665", "6801", "2,44%", "1,70%", "2,08%", "Гершберг Евгения Игоревна", "4238", "4212", "8450", "2,50%", "2,68%", "2,59%", "Лапшов Алексей Сергеевич", "6946", "8725", "15671", "4,10%", "5,56%", "4,80%", "Махницкий Данил Павлович", "34011", "25770", "59781", "20,10%", "16,41%", "18,32%", "Михайловский Александр Всеволодович", "10732", "9044", "19776", "6,34%", "5,76%", "6,06%", "Муратова Юлия Валерьевна", "4072", "4968", "9040", "2,41%", "3,16%", "2,77%", "Придорожный Алексей Николаевич", "1313", "1881", "3194", "0,78%", "1,20%", "0,98%", "Саблин Дмитрий Вадимович", "58690", "74145", "132835", "34,68%", "47,22%", "40,71%", "Сиднев Виктор Владимирович", "5202", "5717", "10919", "3,07%", "3,64%", "3,35%", "Суханов Игорь Владимирович", "22032", "12930", "34962", "13,02%", "8,23%", "10,72%") %>%
vec_to_tibble(okrug = 202, adm_pos = 9, opp_pos = 5)
d203 <- c("Анисимова Светлана Геннадьевна", "5532", "5409", "10941", "4,90%", "4,27%", "4,56%", "Гуревич Илья Валерьевич", "3371", "4479", "7850", "2,98%", "3,54%", "3,28%", "Казенков Олег Юрьевич", "8693", "9124", "17817", "7,69%", "7,20%", "7,43%", "Нифантьев Евгений Олегович", "37733", "54751", "92484", "33,40%", "43,21%", "38,59%", "Пенкин Павел Владимирович", "1193", "1370", "2563", "1,06%", "1,08%", "1,07%", "Петров Василий Александрович", "9088", "7835", "16923", "8,04%", "6,18%", "7,06%", "Петров Виталий Владимирович", "27604", "18975", "46579", "24,43%", "14,98%", "19,43%", "Смолич Алиса Андреевна", "5843", "9158", "15001", "5,17%", "7,23%", "6,26%", "Турушев Евгений Иванович", "4678", "8198", "12876", "4,14%", "6,47%", "5,37%", "Шлямина Ксения Михайловна", "1527", "2207", "3734", "1,35%", "1,74%", "1,56%", "Шушлебина Наталья Алексеевна", "1874", "3568", "5442", "1,66%", "2,82%", "2,27%", "Юдин Лев Игоревич", "1053", "1626", "2679", "0,93%", "1,28%", "1,12%") %>%
vec_to_tibble(okrug = 203, adm_pos = 4, opp_pos = 7)
d204 <- c("Буцкая Татьяна Викторовна", "39207", "62578", "101785", "31,52%", "46,60%", "39,35%", "Громыко Михаил Владимирович", "2993", "2536", "5529", "2,41%", "1,89%", "2,14%", "Дворак Николай Васильевич", "6817", "5850", "12667", "5,48%", "4,36%", "4,90%", "Доможирова Ксения Валерьевна", "7494", "8457", "15951", "6,02%", "6,30%", "6,17%", "Игнатьев Валентин Сергеевич", "5374", "6596", "11970", "4,32%", "4,91%", "4,63%", "Измайлов Сергей Михайлович", "1312", "1230", "2542", "1,05%", "0,92%", "0,98%", "Кавказский Николай Юрьевич", "3362", "3886", "7248", "2,70%", "2,89%", "2,80%", "Курганов Юрий Михайлович", "6791", "4984", "11775", "5,46%", "3,71%", "4,55%", "Курганский Сергей Борисович", "32448", "20867", "53315", "26,09%", "15,54%", "20,61%", "Монахов Михаил Игоревич", "4341", "5951", "10292", "3,49%", "4,43%", "3,98%", "Пресняков Константин Михайлович", "1831", "3500", "5331", "1,47%", "2,61%", "2,06%", "Проханов Василий Александрович", "4380", "4279", "8659", "3,52%", "3,19%", "3,35%", "Шувалов Антон Николаевич", "1393", "2025", "3418", "1,12%", "1,51%", "1,32%", "Яшин Алексей Павлович", "1317", "1543", "2860", "1,06%", "1,15%", "1,11%") %>%
vec_to_tibble(okrug = 204, adm_pos = 1, opp_pos = 9)
d205 <- c("Вассерман Анатолий Александрович", "32850", "42431", "75281", "28,73%", "38,83%", "33,66%", "Гладкова Юлия Генриховна", "6599", "7292", "13891", "5,77%", "6,67%", "6,21%", "Демченко Вячеслав Олегович", "5660", "8009", "13669", "4,95%", "7,33%", "6,11%", "Загордан Надежда Леонидовна", "4990", "7337", "12327", "4,36%", "6,71%", "5,51%", "Ищенко Никита Сергеевич", "1089", "993", "2082", "0,95%", "0,91%", "0,93%", "Корягина Наталья Григорьевна", "1897", "2022", "3919", "1,66%", "1,85%", "1,75%", "Костычева Марина Александровна", "3211", "2603", "5814", "2,81%", "2,38%", "2,60%", "Медведев Антон Владимирович", "5691", "7960", "13651", "4,98%", "7,28%", "6,10%", "Обухов Сергей Павлович", "34487", "19575", "54062", "30,16%", "17,91%", "24,18%", "Попова Алена Владимировна", "7842", "7640", "15482", "6,86%", "6,99%", "6,92%", "Сидоров Ярослав Северович", "3825", "3420", "7245", "3,35%", "3,13%", "3,24%") %>%
vec_to_tibble(okrug = 205, adm_pos = 1, opp_pos = 9)
d206 <- c("Алырин Святослав Игоревич", "3955", "5449", "9404", "3,53%", "4,69%", "4,12%", "Андропов Сергей Николаевич", "8353", "6398", "14751", "7,46%", "5,50%", "6,46%", "Васильев Александр Михайлович", "5697", "3949", "9646", "5,09%", "3,40%", "4,22%", "Гребенник Андрей Вадимович", "35105", "21476", "56581", "31,34%", "18,47%", "24,78%", "Иванова Мария Михайловна", "8038", "12835", "20873", "7,18%", "11,04%", "9,14%", "Копкина Ирина Николаевна", "5619", "5621", "11240", "5,02%", "4,83%", "4,92%", "Мажуга Александр Георгиевич", "29886", "49469", "79355", "26,68%", "42,54%", "34,76%", "Мишарин Михаил Юрьевич", "1911", "3241", "5152", "1,71%", "2,79%", "2,26%", "Пономарев Михаил Александрович", "2453", "1631", "4084", "2,19%", "1,40%", "1,79%", "Цыба Алексей Николаевич", "6177", "6217", "12394", "5,51%", "5,35%", "5,43%") %>%
vec_to_tibble(okrug = 206, adm_pos = 7, opp_pos = 4)
d207 <- c("Белых Ирина Викторовна", "36976", "55032", "92008", "29,98%", "43,55%", "36,85%", "Демин Сергей Аркадьевич", "2123", "2304", "4427", "1,72%", "1,82%", "1,77%", "Макаренко Дмитрий Григорьевич", "6637", "9475", "16112", "5,38%", "7,50%", "6,45%", "Милованов Вячеслав Анатольевич", "5258", "8124", "13382", "4,26%", "6,43%", "5,36%", "Павлинов Аркадий Борисович", "8698", "9551", "18249", "7,05%", "7,56%", "7,31%", "Павлинов Аркадий Борисович", "2258", "3729", "5987", "1,83%", "2,95%", "2,40%", "Серафонтов Евгений Алексеевич", "2391", "1619", "4010", "1,94%", "1,28%", "1,61%", "Соловьев Степан Геннадьевич", "1520", "2179", "3699", "1,23%", "1,72%", "1,48%", "Ульянов Илья Михайлович", "7378", "5099", "12477", "5,98%", "4,04%", "5,00%", "Ульянов Сергей Александрович", "4179", "2804", "6983", "3,39%", "2,22%", "2,80%", "Ульянченко Иван Викторович", "33222", "19434", "52656", "26,94%", "15,38%", "21,09%", "Хазин Михаил Леонидович", "5892", "5607", "11499", "4,78%", "4,44%", "4,61%", "Юрченко Юрий Петрович", "1151", "1395", "2546", "0,93%", "1,10%", "1,02%") %>%
vec_to_tibble(okrug = 207, adm_pos = 1, opp_pos = 11)
d208 <- c("Винницкая Татьяна Геннадьевна", "6911", "6876", "13787", "5,46%", "7,46%", "6,30%", "Захаров Дмитрий Александрович", "4951", "2460", "7411", "3,91%", "2,67%", "3,39%", "Кошлаков-Крестовский Дмитрий Владимирович", "5514", "6039", "11553", "4,35%", "6,55%", "5,28%", "Леонов Олег Юрьевич", "26174", "31331", "57505", "20,67%", "33,98%", "26,28%", "Митрохин Сергей Сергеевич", "32184", "15631", "47815", "25,41%", "16,95%", "21,85%", "Останина Нина Александровна", "15240", "6906", "22146", "12,03%", "7,49%", "10,12%", "Хараидзе Кетеван Гурамовна", "3296", "2449", "5745", "2,60%", "2,66%", "2,63%", "Шевченко Максим Леонардович", "9131", "4830", "13961", "7,21%", "5,24%", "6,38%", "Широков Андрей Вячеславович", "8375", "5560", "13935", "6,61%", "6,03%", "6,37%", "Юшин Анатолий Павлович", "939", "1368", "2307", "0,74%", "1,48%", "1,05%", "Якубович Яков Борисович", "2078", "2141", "4219", "1,64%", "2,32%", "1,93%", "Яндиев Магомет Исаевич", "6376", "6603", "12979", "5,03%", "7,16%", "5,93%") %>%
vec_to_tibble(okrug = 208, adm_pos = 4, opp_pos = 5)
d209 <- c("Бакланов Александр Александрович", "3847", "3483", "7330", "3,19%", "3,03%", "3,11%", "Волков Алексей Анатольевич", "5095", "3037", "8132", "4,23%", "2,64%", "3,46%", "Волков Николай Юрьевич", "19006", "12924", "31930", "15,78%", "11,25%", "13,57%", "Ильин Роман Анатольевич", "1467", "2135", "3602", "1,22%", "1,86%", "1,53%", "Максимов Юрий Николаевич", "6535", "7721", "14256", "5,43%", "6,72%", "6,06%", "Николаев Игорь Алексеевич", "29716", "16846", "46562", "24,67%", "14,66%", "19,79%", "Палюлин Антон Юрьевич", "1728", "2041", "3769", "1,43%", "1,78%", "1,60%", "Румянцев Александр Григорьевич", "32645", "48517", "81162", "27,10%", "42,23%", "34,49%", "Чирков Максим Андреевич", "9568", "10795", "20363", "7,94%", "9,40%", "8,65%", "Шупеня Даниил Сергеевич", "5836", "7391", "13227", "4,85%", "6,43%", "5,62%") %>%
vec_to_tibble(okrug = 209, adm_pos = 8, opp_pos = 6)
d210 <- c("Барменков Евгений Валерьевич", "2610", "5810", "8420", "2,50%", "4,76%", "3,72%", "Баташев Анатолий Геннадьевич", "1667", "2321", "3988", "1,59%", "1,90%", "1,76%", "Буткеев Владимир Анатольевич", "7836", "8246", "16082", "7,49%", "6,76%", "7,10%", "Коршунков Владислав Сергеевич", "4081", "5998", "10079", "3,90%", "4,92%", "4,45%", "Крапухин Алексей Игоревич", "3301", "3501", "6802", "3,16%", "2,87%", "3,00%", "Начевский Михаил Владимирович", "6021", "11177", "17198", "5,76%", "9,16%", "7,59%", "Романенко Роман Юрьевич", "34927", "56234", "91161", "33,39%", "46,09%", "40,23%", "Смитиенко Степан Борисович", "839", "1790", "2629", "0,80%", "1,47%", "1,16%", "Таранцов Михаил Александрович", "34274", "21751", "56025", "32,77%", "17,83%", "24,72%", "Таращанский Леонид Асирович", "3035", "2624", "5659", "2,90%", "2,15%", "2,50%", "Яцевский Артемий Андреевич", "2065", "2551", "4616", "1,97%", "2,09%", "2,04%") %>%
vec_to_tibble(okrug = 210, adm_pos = 7, opp_pos = 9)
# unify and clean the table
df <- bind_rows(
paste0("d", 196:210) %>% map(get)
) %>%
mutate(
district = district %>% as_factor(),
mark = mark %>% factor() %>% lvls_revalue(c("Administrative", "Opposition", "Others")),
live = live %>% as.numeric(),
online = online %>% as.numeric(),
overall = overall %>% as.numeric(),
live_p = live_p %>% str_remove("%") %>% str_replace(",", ".") %>%
as.numeric(),
online_p = online_p %>% str_remove("%") %>% str_replace(",", ".") %>%
as.numeric(),
overall_p = overall_p %>% str_remove("%") %>% str_replace(",", ".") %>%
as.numeric()
)
# visualize
df %>%
ggplot(aes(online_p, live_p, color = mark)) +
geom_abline(slope = 1, color = "#dadada")+
geom_point(size = 1)+
facet_wrap(~district, ncol = 5)+
scale_color_manual(values = c(4, 7, "#bababa"))+
coord_equal(xlim = c(0, 50), y = c(0, 50))+
dark_theme_minimal(base_family = font_rc)+
theme(
legend.position = "top",
plot.background = element_rect(color = NA)
)+
labs(
y = "% votes IRL",
x = "% votes ONLINE",
color = "Candidate"
)
ggsave(
filename = "~/Downloads/equality-line.png",
width = 6, height = 5, type = "cairo"
)
# ternary plots -----------------------------------------------------------
df3 <- df %>%
group_by(district, mark) %>%
summarise(
live_p = live_p %>% sum,
online_p = online_p %>% sum
) %>%
pivot_longer(live_p:online_p) %>%
pivot_wider(names_from = mark, values_from = value)
library(ggtern)
own_tern_theme <- dark_theme_minimal(base_family = font_rc) +
theme(
legend.position = "none",
axis.title = element_blank(),
tern.axis.arrow.show = FALSE,
tern.axis.ticks.length.major = unit(12, "pt"),
tern.axis.text.R = element_text(size = 12, colour = 5),
tern.axis.text.L = element_text(size = 12, colour = 6),
tern.axis.text.T = element_text(size = 12, colour = 7),
tern.axis.ticks.major.R = element_line(colour = 5, size = 1),
tern.axis.ticks.major.L = element_line(colour = 6, size = 1),
tern.axis.ticks.major.T = element_line(colour = 7, size = 1),
tern.axis.title.T = element_text(
hjust = -.1,
vjust = -2,
angle = -60,
family = font_rc,
face = 2,
color = 7
),
tern.axis.title.L = element_text(
hjust = -.6,
vjust = -2.5,
angle = 60,
family = font_rc,
face = 2,
color = 6
),
tern.axis.title.R = element_text(
hjust = 1.5,
vjust = 3,
family = font_rc,
face = 2,
color = 5
),
text = element_text(
family = font_rc,
face = 2,
size = 14,
color = "grey20"
)
)
# ternaty plot [annotations added manualy]
df3 %>%
ggtern(aes(z = Administrative, x = Opposition, y = Others))+
geom_point(
data = . %>% filter(name == "live_p"),
color = "#ffffff"
)+
geom_path(aes(group = district), alpha = 3/4)+
geom_point(
data = . %>% filter(name == "online_p"),
color = 3
)+
# facet_wrap(~district, ncol = 5)+
geom_Tline(Tintercept = 0, color = 5, alpha = .25)+
geom_Rline(Rintercept = 0, color = 6, alpha = .25)+
geom_Lline(Lintercept = 0, color = 7, alpha = .25)+
labs(
x = "% за кандидата Умного голосования",
y = "% за всех прочиx кандидатов",
z = "% за Административного кандидата"
)+
own_tern_theme
ggsave(
filename = "~/Downloads/tern-ru.pdf",
width = 6, height = 5, device = cairo_pdf
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment