我想創建一個圖表來顯示多年來哪個大陸的人均二氧化碳排放總量最高,所以我撰寫了以下代碼:
barchart <- ggplot(data = worldContinents,
aes(x = Continent,
y = `Per.Capita`,
colour = Continent))
geom_bar(stat = "identity")
barchart
這是我的資料框:

Geometry只是為了稍后的一些地理測繪。
我檢查which(is.na(worldContinents$Per.Capita))了是否有NA值,但它什么也沒回傳是什么導致了這些灰線?我該如何擺脫它們?
這些是條形圖中的灰線

謝謝
uj5u.com熱心網友回復:
你在這里有幾個問題。首先,我猜您希望fill將 映射到大陸,而不是color,它只控制條形輪廓的顏色。
其次,您的資料中每個大陸都有多個值,因此它們只是相互疊加。這就是條形圖中出現線條的原因,可能不是您想要的。如果你想要每個大陸的人均價值,你要么需要事先總結你的資料,要么stat_summary像這樣使用:
barchart <- ggplot(data = worldContinents,
aes(x = Continent,
y = `Per.Capita`,
fill = Continent))
stat_summary(geom = "col", fun = mean, width = 0.7,
col = "gray50")
theme_light(base_size = 20)
scale_fill_brewer(palette = "Spectral")
barchart

使用的資料
很明顯,我們沒有你的資料,所以我使用了修改版的gapminder資料集來匹配你自己的資料結構
worldContinents <- gapminder::gapminder
worldContinents$Per.Capita <- worldContinents$gdpPercap
worldContinents$Continent <- worldContinents$continent
worldContinents <- worldContinents[worldContinents$year == 2007,]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/476665.html
下一篇:R中使用ggplot2的精美餅圖
