gpt4 book ai didi

r - ggplot2 scale_x_continuous 限制或绝对

转载 作者:行者123 更新时间:2023-12-04 11:33:22 24 4
gpt4 key购买 nike

我在循环中使用以下 ggplot2 v0.9 scale_x_continious 逻辑(按县名),试图在具有相同 x 比例的单独绘图上绘制每个县的数据。

MaxDays=365*3;
p <- p + scale_x_continuous(limits=c(0,MaxDays))
p <- p + scale_x_continuous(breaks=seq(0,MaxDays,60))

如果所有县都有数据 >= MaxDate,则逻辑效果很好。但是,如果天数小于 MaxDate,则图表 x 比例不统一(即 0 - 720 天)

如何将 scalse 设置为绝对而不是限制?

任何帮助将不胜感激
############################################
### Sample Data Below
############################################

# County 1 data
Days=seq(1,30,1)
Qty=Days*10
County=rep("Washington",length(Days))
df1=data.frame(County, Qty, Days)

# County 2 data
Days=seq(1,15,1)
Qty=Days*20
County=rep("Jefferson",length(Days))
df2=data.frame(County, Qty, Days)

# County 1 and 2 data
df3=rbind(df1,df2)

# calculate ranges for x scales
yrng=range(df3$Qty)
xrng=range(df3$Days)

# Scatter Plots
fname=paste("C:/test",".pdf",sep="");
pdf(fname,10,8,onefile=TRUE,paper="a4r");

p <- ggplot()
cnty=unique(df3$County)
n=length(unique(df3$County))
for (i in 1:n){
df4<-subset(df3, County==cnty[i])
p <- ggplot(df4, aes(x=Days, y=Qty))
p <- p + geom_point()
p <- p + opts(title=cnty[i])
p <- p + scale_x_continuous(limits=c(xrng[1],xrng[2]))
p <- p + scale_x_continuous(breaks=seq(xrng[1],xrng[2],1))
p <- p + coord_cartesian(xlim=c(xrng[1],xrng[2]))
print(p);
}
dev.off()

最佳答案

p <- p + coord_cartesian(xlim=c(0, MaxDays))

编辑:基于评论。

你的问题是第二个 scale_x_continuous()正在替换而不是增加第一个,因此没有保留限制。

你可以更换线
p <- p + scale_x_continuous(limits=c(xrng[1],xrng[2])) 
p <- p + scale_x_continuous(breaks=seq(xrng[1],xrng[2],1))


p <- p + scale_x_continuous(limits=c(xrng[1],xrng[2]), 
breaks=seq(xrng[1],xrng[2],1))

这给出了这样的东西:

enter image description here

关于r - ggplot2 scale_x_continuous 限制或绝对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9776927/

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