gpt4 book ai didi

r - X 轴与条形图不匹配

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

我使用 barplot() 函数从矩阵创建堆积图。

矩阵看起来像这样:

1 0.989013 0.010987
2 0.999990 0.000010
3 0.999990 0.000010
4 0.999990 0.000010

创建堆积图的代码如下所示:
barplot(t(as.matrix(x)), col=c("cyan", "black"))

问题是我想在某些点创建带有刻度和标签的自定义 x 轴。我使用以下来创建 x 轴:
axis(1, at=keyindexes, labels=unique(t$V4), tck=-0.01)

其中 keyindexes 是我需要刻度的条形编号向量,而 unique(t$V4) 是包含每个刻度的唯一名称的向量。

现在的问题是 x 轴与图表区域不匹配并且明显更短。任何人都可以就如何使 x 轴更长提出建议吗?

最佳答案

轴标签的问题实际上是条形不以整数为中心。
例如,制作一些十行的数据并用 barplot() 绘制它们。 .然后添加axis()对于 x 轴从 1 到 10 的数字。

set.seed(1)
x<-data.frame(v1=rnorm(10),v2=rnorm(10))
barplot(t(as.matrix(x)), col=c("cyan", "black"))
axis(1,at=1:10)

enter image description here

现在轴文本不在正确位置。

要更正此问题, barplot()应保存为对象,此对象应用作 at=轴中的值。
m<-barplot(t(as.matrix(x)), col=c("cyan", "black"))
m
[1] 0.7 1.9 3.1 4.3 5.5 6.7 7.9 9.1 10.3 11.5
axis(1, at=m,labels=1:10)

enter image description here

编辑 - 只绘制一些刻度

如果只应绘制一些轴刻度文本,那么您可以子集 m需要并提供相同长度的值 labels= .在此示例中,仅注释了 1.、5. 和 10. 条。
m<-barplot(t(as.matrix(x)), col=c("cyan", "black"))
lab<-c("A","B","C")
axis(1, at=m[c(1,5,10)],labels=lab)

enter image description here

关于r - X 轴与条形图不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15331472/

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