如何从条形图中删除水平线
How do I remove horizontal lines from my bar plot
我正在尝试使用由三列组成的超过 400,000 个数据点来呈现条形图:成本、等级和年份,但是当我绘制 facetwrap 图表时,我在每个条形中得到这些水平线。有人可以告诉我为什么他们在那里以及如何摆脱他们。我使用的代码是:
library(ggplot2)
costs<-read.table("C:/Projects/cost_rank_1.txt",header=TRUE)
df<-data.frame(costs)
ggplot(df,aes(x=rank, y=cost)) +
geom_bar(position=position_dodge(),
stat="identity",colour="steelblue",fill="cornsilk3")+
facet_wrap(~year) +
scale_x_continuous(breaks = seq(1,21,by = 2),
labels =
c("1","3","5","7","9","11","13","15","17","19","21")) +
scale_y_continuous(breaks=c(0,500,1000,1500,2000,2500))+
labs(x="Rank",y="Average Cost per Rank (dollars)")+ggtitle("All Tiers") +
theme(plot.title = element_text(color="black", size=14, face="bold"))
图表如下所示:
修改aes()
and geom_bar()
components即可解决问题。具体来说,您必须将 y=cost
更改为 fill=cost
,并将 stat="identity"
更改为 stat="count"
,导致以下代码:
library(ggplot2)
costs<-read.table("C:/Projects/cost_rank_1.txt",header=TRUE)
df<-data.frame(costs)
ggplot(df,aes(x=rank, fill=cost)) +
geom_bar(position=position_dodge(),
stat="count",colour="steelblue",fill="cornsilk3")+
facet_wrap(~year) +
scale_x_continuous(breaks = seq(1,21,by = 2),
labels =
c("1","3","5","7","9","11","13","15","17","19","21")) +
scale_y_continuous(breaks=c(0,500,1000,1500,2000,2500))+
labs(x="Rank",y="Average Cost per Rank (dollars)")+ggtitle("All Tiers") +
theme(plot.title = element_text(color="black", size=14, face="bold"))
P.S。尽量提供完全可重现的案例,包括数据。
我正在尝试使用由三列组成的超过 400,000 个数据点来呈现条形图:成本、等级和年份,但是当我绘制 facetwrap 图表时,我在每个条形中得到这些水平线。有人可以告诉我为什么他们在那里以及如何摆脱他们。我使用的代码是:
library(ggplot2)
costs<-read.table("C:/Projects/cost_rank_1.txt",header=TRUE)
df<-data.frame(costs)
ggplot(df,aes(x=rank, y=cost)) +
geom_bar(position=position_dodge(),
stat="identity",colour="steelblue",fill="cornsilk3")+
facet_wrap(~year) +
scale_x_continuous(breaks = seq(1,21,by = 2),
labels =
c("1","3","5","7","9","11","13","15","17","19","21")) +
scale_y_continuous(breaks=c(0,500,1000,1500,2000,2500))+
labs(x="Rank",y="Average Cost per Rank (dollars)")+ggtitle("All Tiers") +
theme(plot.title = element_text(color="black", size=14, face="bold"))
图表如下所示:
修改aes()
and geom_bar()
components即可解决问题。具体来说,您必须将 y=cost
更改为 fill=cost
,并将 stat="identity"
更改为 stat="count"
,导致以下代码:
library(ggplot2)
costs<-read.table("C:/Projects/cost_rank_1.txt",header=TRUE)
df<-data.frame(costs)
ggplot(df,aes(x=rank, fill=cost)) +
geom_bar(position=position_dodge(),
stat="count",colour="steelblue",fill="cornsilk3")+
facet_wrap(~year) +
scale_x_continuous(breaks = seq(1,21,by = 2),
labels =
c("1","3","5","7","9","11","13","15","17","19","21")) +
scale_y_continuous(breaks=c(0,500,1000,1500,2000,2500))+
labs(x="Rank",y="Average Cost per Rank (dollars)")+ggtitle("All Tiers") +
theme(plot.title = element_text(color="black", size=14, face="bold"))
P.S。尽量提供完全可重现的案例,包括数据。