使用ggplot2绘制直方图失败,请求技术协助
直方图绘制失败的解决办法
你尝试用ggplot2绘制直方图时遇到了错误,使用的代码如下:
A <- c("Eu", "Mr", "Avocado") height <- c(12,26,56) Nyungwe <- data.frame(A, height) ggplot(Nyungwe, aes(x= Nyungwe$A, y= Nyungwe$height)) + geom_histogram(fill = "yellow", col= "green")
错误原因
报错提示stat_bin()需要连续型x变量,但你的x变量是离散的类别型数据("Eu"、"Mr"、"Avocado"都是分类标签),直方图本身是用来展示连续数据的分布特征的,完全不匹配你的数据场景。
正确解决方案
你需要绘制的是柱状图(用来展示不同类别对应的数值大小),修改代码如下:
A <- c("Eu", "Mr", "Avocado") height <- c(12,26,56) Nyungwe <- data.frame(A, height) ggplot(Nyungwe, aes(x = A, y = height)) + geom_bar(stat = "identity", fill = "yellow", color = "green")
补充说明
- ggplot的
aes()映射里直接用列名即可,不需要加Nyungwe$,代码更简洁规范; geom_bar(stat = "identity")表示直接使用数据中给定的y值作为柱子高度,刚好匹配你用height列指定数值的需求。
内容的提问来源于stack exchange,提问作者Thacien
相关产品推荐
相关产品推荐

