Cum se face un complot Financial Times cu GGPLOT2 în R?

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

(Acest articol a fost publicat pentru prima dată pe Ozancan Ozdemirși a contribuit cu drag la R-Bloggers). (Puteți raporta problema despre conținutul de pe această pagină aici)


Doriți să vă împărtășiți conținutul pe R-Bloggers? Faceți clic aici dacă aveți un blog sau aici dacă nu.

Bună, oameni buni!

În acest tutorial, voi ilustra cum să desenez un complot Financial Times cu GGPLOT2 în R pas cu pas. Știm că pachetul GGThemes include o temă legată de timpurile financiare, dar tema este depreciată acum.

Graficul meu de referință pentru acest tutorial este prezentat mai jos.

imagine

Pentru a desena un complot având un model similar cu unul de mai sus, voi folosi doar pachete GGPLOT2 și GGPUBR. Textele sunt de la Windows Family. Nu import fonturi suplimentare.

Să începem.

Voi atrage o rată de inflație a Turciei. Puteți accesa datele de aici.

Să citim datele la început.

inflation<-readxl::read_xlsx("inflation_rate.xlsx")
head(inflation)

# A tibble: 6 x 2
  Date                 Rate
                
1 2005-01-01 00:00:00  9.24
2 2005-02-01 00:00:00  8.69
3 2005-03-01 00:00:00  7.94
4 2005-04-01 00:00:00  8.18
5 2005-05-01 00:00:00  8.7 
6 2005-06-01 00:00:00  8.95

Apoi, desenați o linie de linie folosind geom_line Funcție geometrică.

library(ggplot2)
ggplot(inflation,aes(x = Date,
                     y = Rate))+
  geom_line()

imagineimagine

Acum, vom începe să manipulăm aspectul complotului adăugând titlu și legendă.

ggplot(inflation,aes(x = Date,
                     y = Rate))+
  geom_line()+
  labs(title = "-
       
The Inflation rate in Turkey is at the peak of the last 17 years !",
       subtitle = "Starting from January 05.",
       caption = "FINANCIAL TIMES")

imagineimagine

Apoi, schimbați culoarea fundalului, schimbați culoarea și bifarea liniei și îndepărtați liniile de grilă verticală. Vom folosi funcția tematică în GGPLOT2 și col şi sizeargumente în geom_line funcţie.

ggplot(inflation,aes(x = Date,
                     y = Rate))+
  geom_line(col = "#f20656", size = 1.2)+
  labs(title = "-
       
The Inflation rate in Turkey is at the peak of the last 17 years !",
       subtitle = "Starting from January 05.",
       caption = "FINANCIAL TIMES")+
 theme(rect = element_rect(fill = "#262a33"),
        panel.background = element_rect(fill = "#262a33"),
        panel.grid.minor.x = element_blank(),
        panel.grid.major.x = element_blank(),
        panel.grid = element_line(color = "#92959e"),
        axis.title = element_blank())

imagineimagine

După aceea, vom manipula textele de pe complot. Cu alte cuvinte, vom schimba culoarea și familia textelor. Vom adăuga argumentele necesare în theme funcţie.

ggplot(inflation,aes(x = Date,
                     y = Rate))+
  geom_line(col = "#f20656", size = 1.2)+
  labs(title = "-
       
The Inflation rate in Turkey is at the peak of the last 17 years !",
       subtitle = "Starting from January 05.",
       caption = "FINANCIAL TIMES")+
 theme(rect = element_rect(fill = "#262a33"),
        panel.background = element_rect(fill = "#262a33"),
        panel.grid.minor.x = element_blank(),
        panel.grid.major.x = element_blank(),
        panel.grid = element_line(color = "#92959e"),
        axis.title = element_blank(),
        plot.title = element_text(family ="Tw Cen MT", color = "white",size = 18),
       plot.subtitle = element_text(family ="Tw Cen MT", color = "#92959e"),
        plot.caption = element_text(family = "Times New Roman",face = "bold",color ="#92959e"),
       axis.text = element_text(size = 10, color ="#92959e", family = "Tw Cen MT"))

imagineimagine

În continuare, vom pune valorile axei y în dreapta graficului. De asemenea, vom lipi semnul % lângă valori folosind scale_y_continuous funcţie.

imagineimagine

În cele din urmă, vom adăuga a doua legendă în colțul din stânga jos al parcelei, care poate fi cea mai grea parte a acestui proces. În acest scop, vom folosi funcția ANOTATE_CUSTOM. Știm că intrarea acestei funcții este obiectul GROB. Astfel, vom lua în considerare ggpubr Pachet pentru a produce un obiect text GROB. Apoi, vom clipi folosind coord_cartesian.

caption2<-ggpubr::text_grob("Source: CBRT", family = "Tw Cen MT",face = "bold", color = "#92959e", size =10)

ggplot(inflation,aes(x = Date,
                     y = Rate))+
  geom_line(col = "#f20656", size = 1.2)+
  labs(title = "-
       
The Inflation rate in Turkey is at the peak of the last 17 years !",
       subtitle = "Starting from January 05.",
       caption = "FINANCIAL TIMES")+
 theme(rect = element_rect(fill = "#262a33"),
        panel.background = element_rect(fill = "#262a33"),
        panel.grid.minor.x = element_blank(),
        panel.grid.major.x = element_blank(),
        panel.grid = element_line(color = "#92959e"),
        axis.title = element_blank(),
        plot.title = element_text(family ="Tw Cen MT", color = "white",size = 18),
       plot.subtitle = element_text(family ="Tw Cen MT", color = "#92959e"),
        plot.caption = element_text(family = "Times New Roman",face = "bold",color ="#92959e"),
       axis.text = element_text(size = 10, color ="#92959e", family = "Tw Cen MT"))+
  scale_y_continuous(labels = function(x) paste0(x, "%"),position = "right")+
  annotation_custom(caption2,xmin=inflation$Date(10),xmax=inflation$Date(10),ymin=-6,ymax=-6)+
  coord_cartesian(clip = "off")

Asta este! Dacă doriți să utilizați această temă ca obiect GGPLOT, mă puteți contacta prin e-mail.

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.