Created
September 21, 2021 20:19
-
-
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#=============================================================================== | |
# 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