【问题标题】:How do i put a barplot on top of another graph in r我如何将条形图放在 r 中的另一个图的顶部
【发布时间】:2021-11-13 13:00:25
【问题描述】:

我在尝试创建图表时遇到了一个问题,如下图所示:

此图像由点图顶部的条形图组成。 我尝试使用 par(fig) 将这两个放在一起,但我没有得到想要的结果,而是让它们相互覆盖,或者其中一个被另一个覆盖。

这是我的代码:

y1=rnorm(1000, mean=0, sd=1)
y2=rnorm(1000, mean=0, sd=1)

y=hist(y1, freq=TRUE, breaks=100)
dev.off()

par(fig=c(1,0,1,0.75),mar=c(3,0,4,0), font.axis=2,
     cex.axis=1.1, cex.sub=1.1, crt=90)
plot(y1,y2, type="n", xlim=c(-3,3),ylim=c(-3,3), ann=FALSE)
points(y1,y2, pch=21, bg="red")


par(new=TRUE, fig=c(1,0.75,0,1),mar=c(3,0,4,0), font.main=2, font.sub=2, cex.main=1.1)
barplot(y$density, axes=FALSE, horiz=FALSE, ylim=c(0,0.6), 
        space=5, ann=FALSE)
title("Hustota normálního rozdělení", side = 3, line = 2)
mtext("(generováno 1000 čísel s parametry sigma=0, -1)",
      side = 3, line = 1)

我不知道我的代码是否有错误,或者这种方法是否行不通。我是一个初学者,所以如果我的问题很愚蠢,我很抱歉。

提前感谢您的帮助

【问题讨论】:

    标签: r plot graph bar-chart


    【解决方案1】:

    很漂亮,只是你的par 有点不对劲。试试这个:

    par(fig=c(0,1,0,.75),mar=c(3,1,4,1), font.axis=2,
        cex.axis=1.1, cex.sub=1.1, crt=90)
    plot(y1,y2, type="n", xlim=c(-3,3),ylim=c(-3,3), ann=FALSE)
    points(y1,y2, pch=21, bg="red")
    
    
    par(new=TRUE, fig=c(0,1,.415,1),mar=c(3,1,4,1), font.main=2, font.sub=2, cex.main=1.1)
    barplot(y$density, axes=FALSE, horiz=FALSE, ylim=c(0,0.6), 
            space=5, ann=FALSE)
    mtext("Hustota normálního rozdělení", side = 3, line = 2)
    mtext("(generováno 1000 čísel s parametry sigma=0, -1)",
          side = 3, line = 1)
    

    【讨论】:

      猜你喜欢
      • 2011-07-24
      • 2015-06-02
      • 2012-05-09
      • 1970-01-01
      • 1970-01-01
      • 2019-10-03
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多