r - 向轴标签添加逗号分隔符

标签 r plot axis-labels

我有以下示例,其中我试图将逗号分隔符添加到大于 999 的数字(即 1,000 2,000 3,000 ...)

#Dummy data
Data1 <- data.frame(flow = c(8000,8.5,6,7.1,9), SP_elev = c(20,11,5,25,50))
Data2 <- data.frame(flow = c(7000,7.2,6.5,8.2,8.5), SP_elev = c(13,15,18,25,19))
Data3 <- data.frame(flow = c(2000,3,5,7,9), SP_elev = c(20,25,28,30,35))
Data4 <- data.frame(flow = c(1000,4,6,8,9), SP_elev = c(13,15,18,25,19))
Data5 <- data.frame(flow = c(1000,4,6,8,9), SP_elev = c(13,15,18,25,19))
Data6 <- data.frame(flow = c(1000,4,6,8,9), SP_elev = c(22,23,25,27,29))

#Create Vector list (in place of list.files)
dataframes = list("Data1" = Data1, 
                  "Data2" = Data2, 
                  "Data3" = Data3,
          "Data4" = Data4,
          "Data5" = Data5,
          "Data6" = Data6)

# open the PDF device
pdf(file="Dummy_Example.pdf", paper="letter", height=10, width=8)

#Create array of plots 
par(mfrow=c(3,2))

#plot a with regression model
for (i in dataframes) {

plot (i[,c('flow', 'SP_elev')], xlab=expression(paste("Discharge (", ft^3, "/s)",sep = "")), ylab= "Elevation (m)", tck=0.02, adj = 0.5)
axis(side=1, at=axTicks(1), labels=formatC(axTicks(1), format="d", big.mark=','))

}

# close the PDF device
dev.off()

x 轴标签在输出 PDF 上绘制了两次。上面代码中的 axis 命令哪里出错了?

最佳答案

#Dummy data
Data1 <- data.frame(flow = c(8000,8.5,6,7.1,9), SP_elev = c(20,11,5,25,50))
Data2 <- data.frame(flow = c(7000,7.2,6.5,8.2,8.5), SP_elev = c(13,15,18,25,19))
Data3 <- data.frame(flow = c(2000,3,5,7,9), SP_elev = c(20,25,28,30,35))
Data4 <- data.frame(flow = c(1000,4,6,8,9), SP_elev = c(13,15,18,25,19))
Data5 <- data.frame(flow = c(1000,4,6,8,9), SP_elev = c(13,15,18,25,19))
Data6 <- data.frame(flow = c(1000,4,6,8,9), SP_elev = c(22,23,25,27,29))

#Create Vector list (in place of list.files)
dataframes = list("Data1" = Data1, 
                  "Data2" = Data2, 
                  "Data3" = Data3,
          "Data4" = Data4,
          "Data5" = Data5,
          "Data6" = Data6)

# open the PDF device
pdf(file="Dummy_Example.pdf", paper="letter", height=10, width=8)

#Create array of plots 
par(mfrow=c(3,2))

#plot a with regression model
for (i in dataframes) {

plot (i[,c('flow', 'SP_elev')], xlab=expression(paste("Discharge (", ft^3, "/s)",sep = "")), ylab= "Elevation (m)", tck=0.02, adj = 0.5, xaxt='n')
axis(side=1, at=axTicks(1), labels=formatC(axTicks(1),  big.mark=','))
}


# close the PDF device
dev.off()

要使轴标签不出现两次,xaxt='n' 需要添加到 plot 函数中。当在 for 循环中调用 axis 时,轴标签会被格式化和绘制。

关于r - 向轴标签添加逗号分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23092925/

相关文章:

r - 如何将分数表达式转换为 R 中的字符向量?

r - 如何从多个文本中识别和检索多个模式?

string - 带有希腊字母、换行符和变量值的 R 绘图标题

Python 如何创建可更新的图?

python - 获取默认的 x 刻度标签文本用作索引,以使用其他文本更新刻度标签

matlab - 在 Matlab 中 : How to keep all xTicks but xTicklabels just on every 6 xTicks?

r - emacs 跨越不可靠的连接

r - 识别派对 ctree 节点内的所有不同变量

java - 如何在所有缩放级别实时准确地绘制大数据 vector ?

javascript - 如何检查给定变量输入的小数点右移次数?