使用 ggplot2 对数据进行子集化并在折线图上绘制两个变量
Subsetting data and plotting two variables on a line chart with ggplot2
我想绘制一个 geom_line()
与 2 个国家/地区,这些国家/地区与日期和数据位于同一 .csv 中。
可以在此处找到 .csv:ourWorldinData csv testing positives
这是我的代码:
library(ggplot2)
library(tidyverse)
library(dplyr)
dfpositividad<- read.csv("C:/Users/BlackMamba/Desktop/R csv/test-positive.csv", encoding = "ASCII", header = TRUE, sep = ",")
colnames(dfpositividad) <- c("Pais","code", "fecha", "positividad")
#To read decimals
dfpositividad$positividad = as.numeric(gsub(",","\.",
dfpositividad$positividad))
#To read the date
dfpositividad$fecha<-as.Date(dfpositividad$fecha)
ggplot(subset(dfpositividad, code == "ARG"), aes(y=positividad, x=fecha)) + geom_line(stat="identity", size=1,color="blue")
我想绘制两个或多个国家,例如西班牙、阿根廷和美国。
谁能帮帮我?
这是一个解决方案。我发现在绘制数据之前对数据进行子集化更容易。
dfpositividad_sub <- subset(dfpositividad, code == "ARG" | code == "USA")
positividad_plot <- ggplot(data = dfpositividad_sub, aes(x = fecha, y = positividad, colour = Pais, shape = Pais)) +
geom_point() +
geom_line(size = 1) +
scale_y_continuous(expand = c(0.01, 0)) + scale_x_date(labels = scales::date_format("%d %B"), date_breaks = "1 month", date_minor_breaks = "1 week") +
xlab("Fecha") +
ylab("Positividad") +
labs(colour = "Pais", shape = "Pais") +
theme_bw(base_size = 14, base_family = "sans") +
theme(legend.position = "right")
print(positividad_plot)
剧情:
我想绘制一个 geom_line()
与 2 个国家/地区,这些国家/地区与日期和数据位于同一 .csv 中。
可以在此处找到 .csv:ourWorldinData csv testing positives
这是我的代码:
library(ggplot2)
library(tidyverse)
library(dplyr)
dfpositividad<- read.csv("C:/Users/BlackMamba/Desktop/R csv/test-positive.csv", encoding = "ASCII", header = TRUE, sep = ",")
colnames(dfpositividad) <- c("Pais","code", "fecha", "positividad")
#To read decimals
dfpositividad$positividad = as.numeric(gsub(",","\.",
dfpositividad$positividad))
#To read the date
dfpositividad$fecha<-as.Date(dfpositividad$fecha)
ggplot(subset(dfpositividad, code == "ARG"), aes(y=positividad, x=fecha)) + geom_line(stat="identity", size=1,color="blue")
我想绘制两个或多个国家,例如西班牙、阿根廷和美国。 谁能帮帮我?
这是一个解决方案。我发现在绘制数据之前对数据进行子集化更容易。
dfpositividad_sub <- subset(dfpositividad, code == "ARG" | code == "USA")
positividad_plot <- ggplot(data = dfpositividad_sub, aes(x = fecha, y = positividad, colour = Pais, shape = Pais)) +
geom_point() +
geom_line(size = 1) +
scale_y_continuous(expand = c(0.01, 0)) + scale_x_date(labels = scales::date_format("%d %B"), date_breaks = "1 month", date_minor_breaks = "1 week") +
xlab("Fecha") +
ylab("Positividad") +
labs(colour = "Pais", shape = "Pais") +
theme_bw(base_size = 14, base_family = "sans") +
theme(legend.position = "right")
print(positividad_plot)
剧情: