使用ggplot绘制调查数据柱状图异常,求问题排查方案
问题原因及解决办法
- 你代码里的核心错误是在
aes()里给列名加了引号!ggplot的aes()映射需要直接引用数据框里的列名(无需加引号),你现在写x="Country"和y="Percentage share",相当于把x轴固定成了单一字符串"Country",y轴也被当成固定值,所以只会画出一根柱子,自然呈现出难看的图形。 - 修正后的代码如下:
ggplot(data = df1, aes(x = Country, y = `Percentage share`)) + geom_bar(stat = "identity")
由于你的列名Percentage share包含空格,所以要用反引号`把它括起来;如果后续把列名改成无空格的格式(比如Percentage_share),就可以去掉反引号直接写列名。
- 要是想让图表更美观,还可以添加一些优化,比如旋转x轴标签避免国家名称重叠:
ggplot(data = df1, aes(x = Country, y = `Percentage share`)) + geom_bar(stat = "identity", fill = "steelblue") + theme(axis.text.x = element_text(angle = 45, hjust = 1))
内容的提问来源于stack exchange,提问作者user20193807
相关产品推荐
相关产品推荐

