Para graficar con dos ejes vamos a utilizar algunas librerĆas, no todas son especificamente para este fin, tal como readxl que se utilizarĆ” para cargar los datos.
library(tidyverse)
library(patchwork)
library(hrbrthemes)
library(readxl)
Para este ejemplo, utilizaremos dos series del tipo de cambio:
Tipo de cambio Peso-Dólar: Es la cuantĆa de dinero que vale en pesos mexicanos un dólar.
Tipo de cambio Peso-Euro: Cantidad de pesos mexicanos que equivalen a solo un Euro.
DolarEuro<-read_excel("DolarEuro.xlsx")
class(DolarEuro)
## [1] "tbl_df" "tbl" "data.frame"
| Fecha | Dolar | Euro |
|---|---|---|
| 2019-08-01 | 19.6850 | 22.10767 |
| 2019-09-01 | 19.5865 | 21.51554 |
| 2019-10-01 | 19.3242 | 21.38397 |
| 2019-11-01 | 19.3325 | 21.53853 |
| 2019-12-01 | 19.1071 | 21.17506 |
| 2020-01-01 | 18.8040 | 20.94650 |
| 2020-02-01 | 18.8443 | 21.72097 |
| 2020-03-01 | 22.3784 | 25.76741 |
| 2020-04-01 | 24.2658 | 26.19670 |
| 2020-05-01 | 23.4230 | 24.67502 |
| 2020-06-01 | 22.2990 | 25.92582 |
| 2020-07-01 | 22.4033 | 26.26069 |
| 2020-08-01 | 22.2072 | 26.17914 |
| 2020-09-01 | 21.6810 | 25.96914 |
| 2020-10-01 | 21.2705 | 24.81775 |
| 2020-11-01 | 20.3819 | 24.09425 |
| 2020-12-01 | 19.9651 | 24.35630 |
| 2021-01-01 | 19.9215 | 24.56504 |
| 2021-02-01 | 20.3097 | 25.41262 |
| 2021-03-01 | 20.7555 | 24.02620 |
Es importante considerar el formato de los datos, con la finalidad de poder trabajar con fechas en formato "aaaa-mm-dd".
En esta sección se muestra la forma en cómo se puede fusionar dos graficos en un solo espacio (dos figuras en una dimensión):
p1<-ggplot(DolarEuro, aes(x=as.Date(Fecha), y=Dolar))+
geom_line(color="#69b3a2", size=1)+
scale_x_date(date_breaks = "5 year", date_labels = "%Y")+
xlab("Fecha")+
ggtitle("USD/MXN")+
theme_ipsum()
p2<-ggplot(DolarEuro, aes(x=as.Date(Fecha), y=Euro))+
geom_line(color="#CD6155", size=1)+
scale_x_date(date_breaks = "5 year", date_labels = "%Y")+
xlab("Fecha")+
ggtitle("EUR/MXN")+
theme_ipsum()
p1+p2+
labs(caption = "Elaboración propia con datos de BANXICO")
Nos damos cuenta que al graficar con este estilo, tenemos perdida de espacio, por lo cual agregamos un segundo eje.
Al graficar con dos ejes, debemos hacer una serie de pasos, los cuales son:
DolarColor <- "#69b3a2" #Color para dolar
EurColor <- "#CD6155" # Color para Euro
EU<-data.frame(cbind(DolarEuro, DolarColor,EurColor))
ggplot(EU, aes(x=as.Date(Fecha)))+
geom_line(aes(y=Dolar), size=1, color=DolarColor)+
geom_line(aes(y=Euro), size=1, color=EurColor)+
scale_y_continuous(name="USD/MXN",
sec.axis = sec_axis(~.*1,name = "EUR/MXN"))+
scale_x_date(date_breaks = "2 year", date_labels = "%Y")+
theme_ipsum()+
theme(
axis.title.y = element_text(color=DolarColor, size=13),
axis.title.y.right = element_text(color=EurColor, size = 13)
)+
xlab("Fecha")+
ggtitle("Tipo de cambio USD/MXN y EUR/MXN")+
labs(caption = "Elaboración propia con datos de BANXICO")