我正计划用趋势线将每个条形连接在顶部,以绘制时间和收入的条形图/群集柱形图。从1981年到1988年。
我已使用此代码读取了csv:read.csv(file_location/Revenue.csv",header = T, sep=",", dec = ".")
用于绘图:pl <- ggplot(data,aes(x=ï..Year))
然后是:pl + geom_bar(color='red',fill='blue')
。
很遗憾,i end up with something like this。而i'd prefer something like this。 在这种情况下,我只使用了 ggplot2 库,是否应该另外使用 tidyr,diplyr ?我在连续变量和离散变量之间犯错了吗?由于我仍然在ggplot和数据可视化的基础上,有关美化以美化它的任何建议或有关此问题的解决方案,将不胜感激。
如果您要检查它,我还加了罚款:Revenue.csv
答案 0 :(得分:1)
检查the documentation here形成一些信息,但是您应该进行的最大更改是使用geom_col
代替geom_bar
。您当前的调用指定了x=
美观度(应该是x轴),但是没有指定y=
美观度(应该是y轴)。 geom_bar
表示默认情况下每个x值的案例/观察次数,而geom_col
用于显示每个x值的长度为y的条形...但是您需要美观。
话虽如此,请尝试以下操作:
pl <- ggplot(data,aes(x=ï..Year, y=your.y.column.name)) +
geom_col(color='red',fill='blue')
至于美学,我可能会稍微改变配色方案和主题,但这是个人喜好。我的建议是至少更改geom_bar/col
的配色方案。 color=
指定条形的轮廓,fill=
是条形的颜色。您的代码将为您提供带有红色轮廓的亮蓝色条...不太好。我还可以通过将width=
参数从默认值1调整为较小值,来将条形的宽度更改为更窄一些。这是一个带有虚拟数据集的示例。抱歉,大多数人(包括我在内)都不想通过链接下载其他人的数据。
df <- data.frame(x=1:10, y=1:10)
ggplot(df, aes(x=x, y=y)) +
geom_col(fill='steelblue', color='black', width=0.5) +
theme_bw()