我在ggplot中创建了一个条形图,但是,我似乎无法将标签和刻度置于条形图的中心。相反,标签在右边。我试过了,但没有用。
以下是图表的外观:

为了清楚起见,我希望2019-01的标签和轴直接位于红色条的中心,一直到右边。
下面是创建图表的代码:
ggplot(data = earnings_returns, aes(x=date, y=return, fill=factor(sign(return)))) +
geom_col(show.legend = FALSE) +
ggtitle(paste(ticker, 'Returns', 5, 'Day(s) After Announcement'))+
scale_fill_brewer(palette="Set1") +
theme(axis.text.x = element_text(angle = 90))以及用于创建数据帧的代码:
earnings_returns <- structure(list(date = structure(c(17836, 17743, 17652, 17563,
17472, 17379, 17288, 17197, 17099), class = "Date"), time = c(" AC",
" AC", " AC", " AC", " AC", " AC", " AC", " AC", " AC"), ticker = c("AAPL",
"AAPL", "AAPL", "AAPL", "AAPL", "AAPL", "AAPL", "AAPL", "AAPL"
), price.close = c(222.220001, 190.289993, 169.100006, 167.779999,
168.110001, 150.050003, 147.509995, 121.349998, 118.25), return = c(-0.0617855995779606,
0.0883914478886969, 0.100236525124665, -0.0752771788966337, 0.0462197605959207,
0.0668443772040446, 0.0439292944183205, 0.083889585230978, -0.0571670359408034
)), row.names = c(NA, -9L), class = "data.frame")谢谢。
发布于 2019-02-09 04:17:40
我想通了,这是使用日期的问题。将它们更改为factor修复了该问题:

ggplot(data = earnings_returns, aes(x=factor(date), y=return, fill=factor(sign(return)))) +
geom_col(show.legend = FALSE) +
ggtitle(paste(ticker, 'Returns', 5, 'Day(s) After Announcement'))+
scale_fill_brewer(palette="Set1") +
theme(plot.title = element_text(hjust = 0.5),
axis.text.x = element_text(angle = 90))https://stackoverflow.com/questions/54599443
复制相似问题