Grafik Anda masuk akal, tetapi akan memerlukan beberapa penyempurnaan, termasuk judul, label sumbu, dan label negara lengkap. Jika tujuan Anda adalah untuk menekankan fakta bahwa Jerman adalah satu-satunya negara dengan kenaikan angka kematian selama periode pengamatan maka cara sederhana untuk melakukannya adalah dengan menyoroti garis ini di plot, baik dengan menggunakan garis yang lebih tebal, berbeda tipe garis, atau transparansi alfa. Anda juga bisa menambah plot deret waktu Anda dengan plot batang yang menunjukkan perubahan tingkat kematian dari waktu ke waktu, sehingga kompleksitas garis deret waktu dikurangi menjadi satu ukuran perubahan.
Berikut adalah bagaimana Anda dapat menghasilkan plot ini menggunakan ggplot
di R
:
library(tidyr);
library(dplyr);
library(ggplot2);
#Create data frame in wide format
DATA_WIDE <- data.frame(Year = 1927L:1937L,
DE = c(10.9, 11.2, 11.4, 10.4, 10.4, 10.2, 10.8, 10.6, 11.4, 11.7, 11.5),
FR = c(16.5, 16.4, 17.9, 15.6, 16.2, 15.8, 15.8, 15.1, 15.7, 15.3, 15.0),
BE = c(13.0, 12.8, 14.4, 12.8, 12.7, 12.7, 12.7, 11.7, 12.3, 12.2, 12.5),
NL = c(10.2, 9.6, 10.7, 9.1, 9.6, 9.0, 8.8, 8.4, 8.7, 8.7, 8.8),
DEN = c(11.6, 11.0, 11.2, 10.8, 11.4, 11.0, 10.6, 10.4, 11.1, 11.0, 10.8),
CH = c(12.4, 12.0, 12.5, 11.6, 12.1, 12.2, 11.4, 11.3, 12.1, 11.4, 11.3),
AUT = c(15.0, 14.5, 14.6, 13.5, 14.0, 13.9, 13.2, 12.7, 13.7, 13.2, 13.3),
CZ = c(16.0, 15.1, 15.5, 14.2, 14.4, 14.1, 13.7, 13.3, 13.5, 13.3, 13.3),
PL = c(17.3, 16.4, 16.7, 15.6, 15.5, 15.0, 14.2, 14.4, 14.0, 14.2, 14.0));
#Convert data to long format
DATA_LONG <- DATA_WIDE %>% gather(Country, Measurement, DE:PL);
#Set line-types and sizes for plot
#Germany (DE) is the fifth country in the plot
LINETYPE <- c("dashed", "dashed", "dashed", "dashed", "solid", "dashed", "dashed", "dashed", "dashed");
SIZE <- c(1, 1, 1, 1, 2, 1, 1, 1, 1);
#Create time-series plot
theme_set(theme_bw());
PLOT1 <- ggplot(DATA_LONG, aes(x = Year, y = Measurement, colour = Country)) +
geom_line(aes(size = Country, linetype = Country)) +
scale_size_manual(values = SIZE) +
scale_linetype_manual(values = LINETYPE) +
scale_x_continuous(breaks = 1927:1937) +
scale_y_continuous(limits = c(0, 20)) +
labs(title = "Annual Time Series Plot: Death Rates over Time",
subtitle = "Only Germany (DE) trends upward from 1927-37") +
xlab("Year") + ylab("Crude Death Rate\n(per 1,000 population)");
#Create new data frame for differences
DATA_DIFF <- data.frame(Country = c("DE", "FR", "BE", "NL", "DEN", "CH", "AUT", "CZ", "PL"),
Change = as.numeric(DATA_WIDE[11, 2:10] - DATA_WIDE[1, 2:10]));
#Create bar plot
PLOT2 <- ggplot(DATA_DIFF, aes(x = reorder(Country, - Change), y = Change, colour = Country, fill = Country)) +
geom_bar(stat = "identity") +
labs(title = "Bar Plot: Change in Death Rates from 1927-37",
subtitle = "Only Germany (DE) shows an increase in death rate") +
xlab(NULL) + ylab("Change in crude Death Rate\n(per 1,000 population)");
Ini mengarah ke plot berikut:
Catatan: Saya sadar bahwa OP bermaksud menyoroti perubahan tingkat kematian sejak 1932, ketika tren di Jerman mulai naik. Bagi saya ini agak mirip dengan memetik ceri, dan saya merasa ragu ketika interval waktu dipilih untuk mendapatkan tren tertentu. Untuk alasan ini saya telah melihat interval pada seluruh rentang data, yang merupakan perbandingan yang berbeda dengan OP.