Biểu đồ của bạn là hợp lý, nhưng nó sẽ yêu cầu một số tinh chỉnh, bao gồm tiêu đề, nhãn trục và nhãn quốc gia hoàn chỉnh. Nếu mục tiêu của bạn là nhấn mạnh thực tế rằng Đức là quốc gia duy nhất có tỷ lệ tử vong tăng trong thời gian quan sát thì một cách đơn giản để làm điều này là làm nổi bật dòng này trong cốt truyện, bằng cách sử dụng một dòng dày hơn, khác dòng trong suốt, hoặc độ trong suốt alpha. Bạn cũng có thể tăng cốt truyện theo chuỗi thời gian của mình bằng một biểu đồ vạch cho thấy sự thay đổi về tỷ lệ tử vong theo thời gian, do đó độ phức tạp của các dòng chuỗi thời gian được giảm xuống thành một thước đo thay đổi.
Đây là cách bạn có thể tạo ra các lô này bằng cách sử dụng ggplot
trong 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)");
Điều này dẫn đến các lô sau:
Lưu ý: Tôi biết rằng OP dự định làm nổi bật sự thay đổi tỷ lệ tử vong kể từ năm 1932, khi xu hướng ở Đức bắt đầu đi lên. Điều này đối với tôi hơi giống với việc hái anh đào, và tôi thấy thật đáng ngờ khi khoảng thời gian được chọn để có được một xu hướng cụ thể. Vì lý do này, tôi đã xem xét khoảng trên toàn bộ phạm vi dữ liệu, đây là một so sánh khác với OP.