gpt4 book ai didi

r - 如何绘制具有连续 x 轴的条形图/条形图

转载 作者:行者123 更新时间:2023-12-04 09:41:40 25 4
gpt4 key购买 nike

我想绘制一个 barplot 但我在 x 轴上有日期,我希望这些日期间隔正确(因为它是非分类的)

set.seed(1)
m = matrix(abs(rnorm(6)),3,2)
rownames(m) = as.Date(c('2011-01-01','2011-01-03','2011-01-10'))
barplot(t(m),beside=T,col=c('red','blue'),las=2)

enter image description here

在这个例子中,我希望 14984 向右偏移。我更喜欢 graphics 解决方案,但 ggplot2 也不错

最佳答案

您介意改用“ggplot”吗?

library(ggplot2)
set.seed(1)
df <- data.frame(y=abs(rnorm(6)),
x=rep(as.Date(c('2011-01-01','2011-01-03','2011-01-10')),
times = 2),
g = factor(rep(c(1,2), each = 3)))
ggplot(aes(x=x, y=y, group = g, fill = g), data = df) +
geom_bar(stat = 'identity', position = 'dodge')

enter image description here

您可以使用“scale_x_date”改进轴格式

library(scales)
ggplot(aes(x=x, y=y, group = g, fill = g), data = df) +
geom_bar(stat = 'identity', position = 'dodge') +
scale_x_date(breaks = '1 day') +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5))

scale_X_date

并根据您的目的对其进行自定义

ggplot(aes(x=x, y=y, group = g, fill = g), data = df) +
geom_bar(stat = 'identity', position = 'dodge') +
scale_x_date(breaks = '1 day') +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5)) +
scale_fill_manual('My\nclasses', values = c('1'='red', '2' = 'blue')) +
labs(list(title = 'Barplot\n', x = ('Date'), y = 'Values'))

customized plot

关于r - 如何绘制具有连续 x 轴的条形图/条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22527809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com