如何在 R 中使用 plotrix 翻转 y 轴(从正到负)而不丢失误差线
How to flip y-axis (positive to negative) without losing error bars with plotrix in R
我正在尝试使用 R 中的包 plotrix
制作图表,但我无法让它以我想要的方式显示。由于数据的解释方式,正数实际上意味着该组中的个人表现更差,负数意味着他们表现更好。当 y 轴正常绘制时(数字随着上升而增加),这会让人感到困惑,但如果翻转 y 轴,则可能更容易理解。
我能够正确翻转 y 轴值和点图,但我在这个过程中丢失了错误栏,我不确定为什么。以下是演示该问题的一些示例代码:
用 "normal" y 轴绘图(数字随着上升而增加):
#rm(list=ls(all=TRUE))
library(plotrix)
longxlim <- c(0,4)
longylim <- c(-2,2)
plotCI(x = c(1:3),
y = c(-1:1),
uiw = c(0.25, 0.5, 0.75),
xlim = longxlim, ylim = longylim,
pch = c(1:3))
用 "flipped" y 轴绘图(数字越往上越小):
longxlim <- c(0,4)
longylim <- c(2,-2)
plotCI(x = c(1:3),
y = c(-1:1),
uiw = c(0.25, 0.5, 0.75),
xlim = longxlim, ylim = longylim,
pch = c(1:3))
与其否定极限,不如否定 y 值本身?
library(plotrix)
longxlim <- c(0,4)
longylim <- c(-2,2)
yplot <- c(-1:1)
plotCI(x = c(1:3),
y = -yplot,
uiw = c(0.25, 0.5, 0.75),
xlim = longxlim, ylim = longylim,
pch = c(1:3))
要更改 y 轴标签,您可以设置 yaxt = 'n'
并使用 axis
longxlim <- c(0,4)
longylim <- c(-2,2)
yplot <- c(-1:1)
ylabs <- c(-2:2)
plotCI(x = c(1:3),
y = -yplot,
uiw = c(0.25, 0.5, 0.75),
xlim = longxlim, ylim = longylim,
pch = c(1:3), yaxt = 'n')
axis(2, at = ylabs, labels = -ylabs)
我正在尝试使用 R 中的包 plotrix
制作图表,但我无法让它以我想要的方式显示。由于数据的解释方式,正数实际上意味着该组中的个人表现更差,负数意味着他们表现更好。当 y 轴正常绘制时(数字随着上升而增加),这会让人感到困惑,但如果翻转 y 轴,则可能更容易理解。
我能够正确翻转 y 轴值和点图,但我在这个过程中丢失了错误栏,我不确定为什么。以下是演示该问题的一些示例代码:
用 "normal" y 轴绘图(数字随着上升而增加):
#rm(list=ls(all=TRUE))
library(plotrix)
longxlim <- c(0,4)
longylim <- c(-2,2)
plotCI(x = c(1:3),
y = c(-1:1),
uiw = c(0.25, 0.5, 0.75),
xlim = longxlim, ylim = longylim,
pch = c(1:3))
用 "flipped" y 轴绘图(数字越往上越小):
longxlim <- c(0,4)
longylim <- c(2,-2)
plotCI(x = c(1:3),
y = c(-1:1),
uiw = c(0.25, 0.5, 0.75),
xlim = longxlim, ylim = longylim,
pch = c(1:3))
与其否定极限,不如否定 y 值本身?
library(plotrix)
longxlim <- c(0,4)
longylim <- c(-2,2)
yplot <- c(-1:1)
plotCI(x = c(1:3),
y = -yplot,
uiw = c(0.25, 0.5, 0.75),
xlim = longxlim, ylim = longylim,
pch = c(1:3))
要更改 y 轴标签,您可以设置 yaxt = 'n'
并使用 axis
longxlim <- c(0,4)
longylim <- c(-2,2)
yplot <- c(-1:1)
ylabs <- c(-2:2)
plotCI(x = c(1:3),
y = -yplot,
uiw = c(0.25, 0.5, 0.75),
xlim = longxlim, ylim = longylim,
pch = c(1:3), yaxt = 'n')
axis(2, at = ylabs, labels = -ylabs)