我想在我的已经添加点(变量 nb 物种)
现有图表。我尝试使用函数 geom_point
添加点,但不幸的是我遇到了这个错误:
"Discrete value supplied to continuous scale".
您会在下方找到我的数据和代码。
structure(list(SOUNAME = c("BALLYSHANNON (CATHLEENS FALL)", "BALLYSHANNON (CATHLEENS FALL)",
"BALLYSHANNON (CATHLEENS FALL)", "BALLYSHANNON (CATHLEENS FALL)",
"BALLYSHANNON (CATHLEENS FALL)", "BALLYSHANNON (CATHLEENS FALL)",
"BALLYSHANNON (CATHLEENS FALL)", "BALLYSHANNON (CATHLEENS FALL)",
"BALLYSHANNON (CATHLEENS FALL)", "BALLYSHANNON (CATHLEENS FALL)",
"BALLYSHANNON (CATHLEENS FALL)", "BALLYSHANNON (CATHLEENS FALL)"
), year_month = c("2014-05", "2014-05", "2014-05", "2014-05",
"2014-06", "2014-06", "2014-06", "2014-06", "2014-07", "2014-07",
"2014-07", "2014-07"), pre_type = c("NONE", "HEAVY", "LIGHT",
"MEDIUM", "NONE", "HEAVY", "LIGHT", "MEDIUM", "NONE", "HEAVY",
"LIGHT", "MEDIUM"), pre_value = c(3, 6, 20, 2, 16, 2, 9, 2, 3,
3, 22, 3), tem_type = c("V_COLD", "COLD", "HOT", "MEDIUM", "V_COLD",
"COLD", "HOT", "MEDIUM", "V_COLD", "COLD", "HOT", "MEDIUM"),
tem_value = c(0, 31, 0, 0, 0, 24, 6, 0, 0, 23, 8, 0), nb_species = c("NA",
"3", "NA", "NA", "NA", "NA", "NA", "NA", "NA", "NA", "NA",
"NA"), x = c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 3L, 3L, 3L,
3L)), .Names = c("SOUNAME", "year_month", "pre_type", "pre_value",
"tem_type", "tem_value", "nb_species", "x"), row.names = c(NA,
-12L), class = c("tbl_df", "tbl", "data.frame"))
ggplot(data = complet_b, aes(x = x, y = pre_value, fill = pre_type), stat = "identity") +
scale_x_continuous(breaks=1:3, labels=unique(complet_b$year_month)) +
geom_bar(stat = "identity", width=0.3) +
xlab("date") + ylab ("Number of days of precipitation") +
ggtitle("Precipitation per month") + labs(fill = "Frequency") +
geom_bar(data=complet_b,aes(x=x+0.4, y=tem_value, fill=tem_type), width=0.3, stat = "identity") +
xlab("date") + ylab("Number of days of temperature") +
ggtitle("Temperature per month") + labs(fill = "Frequency")
非常感谢您花时间帮助我!!
最佳答案
您的列 nb_species
是字符格式,将其转换为数字即可。
快速 str(complet_b)
会告诉您您的列格式。
complet_b$nb_species <- as.numeric(complet_b$nb_species)
这是您的代码并绘制了图中存在的点:
library(ggplot2)
ggplot(data = complet_b, aes(x = x, y = pre_value, fill = pre_type), stat = "identity") +
scale_x_continuous(breaks=1:3, labels=unique(complet_b$year_month)) +
geom_bar(stat = "identity", width=0.3) +
xlab("date") + ylab ("Number of days of precipitation") +
ggtitle("Precipitation per month") + labs(fill = "Frequency") +
geom_bar(data=complet_b,aes(x=x+0.4, y=tem_value, fill=tem_type), width=0.3, stat = "identity") +
xlab("date") + ylab("Number of days of temperature") +
geom_point(aes(x = x, y= nb_species)) +
ggtitle("Temperature per month") + labs(fill = "Frequency")
关于r - 如何将点添加到堆叠条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50447236/