Fișier:Opinion polling for the 2022 Hungarian parliamentary election by coalitions.svg

Mărește rezoluția imaginii(Fișier SVG, cu dimensiunea nominală de 1.620 × 900 pixeli, mărime fișier: 84 KB)

Acest fișier se află la Wikimedia Commons. Consultați pagina sa descriptivă acolo.

Descriere fișier

Descriere
English: Opinion polling for the 2022 Hungarian parliamentary election using local regressions (LOESS)
Code template: https://gitlab.com/gbuvn1/opinion-polling-graph
ggplot.R
Sys.setlocale("LC_TIME", "English")
library(ggplot2)
library(anytime)
library(tidyverse)
library(svglite)

polls <- read.table("CAT.csv", header=T, sep=",", fileEncoding="UTF-8", stringsAsFactor=F)
polls$polldate <- as.Date(anydate(polls$polldate))

spansize <- 0.3         # general smoothing parameter for trend line
startdate <- '2020-11-01'   # date of previous election
enddate <- '2022-04-08'     # (latest) date of next election

# retrieve party names from CSV
party1 <- colnames(polls)[2]
party2 <- colnames(polls)[3]
party3 <- colnames(polls)[4]
party4 <- colnames(polls)[5]

# define party colors (taken from https://en.wikipedia.org/wiki/Category:Germany_political_party_colour_templates)
col1 <- '#FF6A00'
col2 <- '#20B2AA'
col3 <- '#808080'
col4 <- '#568203'
transp <-'55'       # transparency level of points

graph <- ggplot(polls)+
  geom_vline(xintercept = as.Date(startdate), color='#aaaaaabb')+       # vertical line (last election)
  geom_vline(xintercept = as.Date(enddate), color='#aaaaaabb')+         # vertical line (next election)
  geom_segment(aes(x=as.Date(startdate), xend=as.Date(enddate), y=5, yend=5), color='#666666bb', linetype='dashed')+      # horizontal line (election threshold 5%)
  # add poll points
  geom_point(aes_string(x='polldate',y=party1),size=ifelse(polls$polldate==startdate | polls$polldate==enddate,3,1.5),shape=ifelse(polls$polldate==startdate | polls$polldate==enddate,23,21),color=paste0(col1,transp),fill=paste0(col1,transp))+
  geom_point(aes_string(x='polldate',y=party2),size=ifelse(polls$polldate==startdate | polls$polldate==enddate,3,1.5),shape=ifelse(polls$polldate==startdate | polls$polldate==enddate,23,21),color=paste0(col2,transp),fill=paste0(col2,transp))+
  geom_point(aes_string(x='polldate',y=party3),size=ifelse(polls$polldate==startdate | polls$polldate==enddate,3,1.5),shape=ifelse(polls$polldate==startdate | polls$polldate==enddate,23,21),color=paste0(col3,transp),fill=paste0(col3,transp))+
  geom_point(aes_string(x='polldate',y=party4),size=ifelse(polls$polldate==startdate | polls$polldate==enddate,3,1.5),shape=ifelse(polls$polldate==startdate | polls$polldate==enddate,23,21),color=paste0(col4,transp),fill=paste0(col4,transp))+
  # add trend lines
  # the "span" (smoothing parameter) should be manually changed for individual parties that have less polling data
  geom_smooth(aes_string(x='polldate',y=party1,color=shQuote('col1')),span=spansize,se=FALSE)+
  geom_smooth(aes_string(x='polldate',y=party2,color=shQuote('col2')),span=spansize,se=FALSE)+
  geom_smooth(aes_string(x='polldate',y=party3,color=shQuote('col3')),span=spansize,se=FALSE)+
  geom_smooth(aes_string(x='polldate',y=party4,color=shQuote('col4')),span=spansize,se=FALSE)+
  scale_y_continuous(labels = function(x) paste0(x, "%"),limits=c(0,62))+    # add %, manual limits on y-axis
  scale_x_date(limits = as.Date(c(startdate,enddate)), date_minor_breaks = "1 months", date_breaks = "3 months", date_labels = "%b %Y")+    # grid: 1 month, labels: 3 months
  labs(x = "", y = "")+
  scale_color_manual(name="",
                     breaks = c('col1','col2','col3','col4'),
                     labels = c(party1,party2,party3,party4),
                     values = c('col1'=col1,'col2'=col2,'col3'=col3,'col4'=col4))+
  # legend appearance
  theme(
    axis.text.x = element_text(size = 11),
    axis.text.y = element_text(size = 12),
    axis.title.y = element_text(size = 16),
    legend.position="right",
    legend.key.width=unit(24, "pt"),
    legend.key.height=unit(24, "pt"),
    legend.text = element_text(size=16, margin = margin(b = 5, t = 5, unit = "pt")))

graph + theme()

ggsave(file="polls.svg", plot=graph, width=18, height=10)

# workaround since svglite doesn't properly work in Wikipedia
aaa=readLines("polls.svg",-1)
bbb <- gsub(".svglite ", "", aaa)
writeLines(bbb,"polls.svg")
CAT.csv
polldate,Fidesz-KDNP,Opposition,MKKP,MHM
2022-03-27,50,46,1,3
2022-03-23,52,41,3,3
2022-03-18,49,46,,
2022-03-19,50,41,2,5
2022-03-21,49,41,3,2
2022-03-11,50,43,3,4
2022-03-05,54,46,,
2022-02-26,49,43,3,4
2022-02-24,48,46,3,3
2022-02-15,50,43,3,3
2022-02-11,54,41,2,3
2022-02-10,49,46,2,3
2022-02-09,49,44,3,4
2022-01-26,51,43,3,3
2022-01-25,47,47,3,3
2022-01-19,49,44,3,4
2022-01-14,43,39,5,3
2022-01-14,48,44,4,4
2022-01-05,50,43,3,3
2021-12-23,54,45,,
2021-12-15,55,43,,
2021-12-14,43,48,3,4
2021-12-11,46,32,4,5
2021-12-13,47,47,2,3
2021-12-07,44,45,6,5
2021-12-13,47,45,3,4
2021-11-30,46,53,0,1
2021-11-23,41,48,4,3
2021-11-24,48,49,2,2
2021-11-11,55,44,,
2021-11-05,48,45,3,3
2021-11-03,56,42,,
2021-10-29,42,51,2,3
2021-10-27,56,42,,
2021-10-21,55,44,,
2021-10-20,56,43,,
2021-10-13,56,42,,
2021-10-09,47,47,3,3
2021-10-06,44,47,5,4
2021-10-06,54,43,,
2021-10-04,44,52,2,1
2021-10-04,44,52,2,1
2021-09-29,54,44,,
2021-09-21,53,45,,
2021-09-20,49,49,,
2021-09-07,49,45,3,3
2021-08-28,45,52,1,1
2021-08-26,50,45,2,2
2021-08-25,52,46,,
2021-08-01,48,44,4,3
2021-07-04,47,45,3,4
2021-06-16,47,50,,
2021-06-09,52,43,2,3
2021-06-08,50,42,4,4
2021-06-08,46,49,2,2
2021-05-21,44,54,1,1
2021-05-17,48,50,,
2021-05-11,53,45,1,1
2021-05-04,46,48,2,4
2021-04-28,51,43,2,3
2021-04-28,48,51,1,1
2021-04-23,46,52,1,1
2021-04-22,48,49,1,1
2021-03-31,44,48,3,4
2021-03-25,45,53,1,1
2021-03-09,53,44,1,1
2021-03-11,54,40,2,3
2021-03-11,46,50,1,3
2021-02-25,45,48,3,3
2021-02-25,45,54,,
2021-02-22,46,51,2,1
2021-02-13,47,50,,
2021-01-26,44,47,4,3
2021-01-20,52,45,1,1
2021-01-21,46,50,2,2
2020-12-16,51,43,3,2
2020-12-15,47,47,2,3
2020-12-15,46,50,2,2
2020-12-08,48,52,,
2020-12-22,56,44,,
2020-11-21,48,50,,
2020-11-25,49,50,,
Dată
Sursă Operă proprie
Autor PLATEL

Licențiere

Eu, deținătorul drepturilor de autor ale acestei opere, prin prezenta îmi public lucrarea sub următoarea licență:
w:ro:Creative Commons
atribuind partajând în condiții identice
Sunteți liber:
  • să partajați cu alții – aveți dreptul de a copia, distribui și transmite opera
  • să adaptați – aveți dreptul de a adapta opera
În următoarele condiții:
  • atribuind – Trebuie să atribuiți opera corespunzător, introducând o legătură către licență și indicând dacă ați făcut schimbări. Puteți face asta prin orice metodă rezonabilă, dar nu într-un fel care ar sugera faptul că persoana ce a licențiat conținutul v-ar susține sau ar aproba folosirea de către dumneavoastră a operei sale.
  • partajând în condiții identice – Dacă modificați, transformați sau creați pe baza acestei opere, trebuie să distribuiți opera rezultată doar sub aceeași licență sau sub o licență similară acesteia.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

subiectul reprezentat

16 decembrie 2021

image/svg+xml

Istoricul fișierului

Apăsați pe Data și ora pentru a vedea versiunea trimisă atunci.

Data și oraMiniaturăDimensiuniUtilizatorComentariu
actuală29 noiembrie 2022 14:01Miniatură pentru versiunea din 29 noiembrie 2022 14:011.620x900 (84 KB)PLATELfinal result
30 martie 2022 23:27Miniatură pentru versiunea din 30 martie 2022 23:271.620x900 (77 KB)BeimelJusing new polling results to update chart. i did just use the polling results which were summed up at or near 100 percent
3 februarie 2022 02:14Miniatură pentru versiunea din 3 februarie 2022 02:141.620x900 (63 KB)PLATELupdate
16 decembrie 2021 04:36Miniatură pentru versiunea din 16 decembrie 2021 04:361.620x900 (54 KB)PLATELUploaded own work with UploadWizard

Următoarele pagini conțin această imagine:

Utilizarea globală a fișierului

Următoarele alte proiecte wiki folosesc acest fișier:

Informații