在 R 中翻转绘图
Turn plot around in R
目前我正在研究聊天机器人界面并利用眼动追踪来测试我的原型。
我的眼动追踪设备每 16 英里秒创建一个包含 x 和 y 坐标的 csv 文件。
我想绘制此信息:
- 上面的X轴
- 右侧的 Y 轴(从顶部的零开始)
目前我有以下代码:
dataleft = data[c(3,4)]
dataleft_matrix = data.matrix(dataleft)
plot(dataleft_matrix, main="Eyetracking Left Eye", xlab="X-as", ylab="Y-as")`
但是,这并没有像我希望的那样创建轴。
有人可以帮帮我吗?
我建议为此使用 ggplot,而不是 base R。当然,您可能有充分的理由更喜欢使用 base R 绘图,但我发现 ggplot 使用起来更容易(也更快)。
library(ggplot2)
xleft <- c(2,3,4,2,1,2,3,4,5)
yleft <- c(2,3,4,3,2,1,6,5,3)
leftdata <- data.frame(xleft, yleft)
ggplot(data = leftdata) +
geom_point(aes(x = xleft, y = yleft)) +
scale_y_reverse(position = "right") +
scale_x_continuous(position = "top") +
ggtitle("Eyetracking Left Eye") +
xlab("X-as") +
ylab("Y-as")
I think this is what you want it to look like, right?
您可以通过调整ylim
参数来改变基数R中y轴的方向。要切换轴的位置,请在图中抑制轴,然后使用 axis
函数添加它们。
plot(iris[,3:4], pch=20, ylim=c(2.5,0),
xaxt='n', yaxt='n', xlab="", ylab="")
axis(side=3)
axis(side=4)
目前我正在研究聊天机器人界面并利用眼动追踪来测试我的原型。
我的眼动追踪设备每 16 英里秒创建一个包含 x 和 y 坐标的 csv 文件。
我想绘制此信息:
- 上面的X轴
- 右侧的 Y 轴(从顶部的零开始)
目前我有以下代码:
dataleft = data[c(3,4)]
dataleft_matrix = data.matrix(dataleft)
plot(dataleft_matrix, main="Eyetracking Left Eye", xlab="X-as", ylab="Y-as")`
但是,这并没有像我希望的那样创建轴。
有人可以帮帮我吗?
我建议为此使用 ggplot,而不是 base R。当然,您可能有充分的理由更喜欢使用 base R 绘图,但我发现 ggplot 使用起来更容易(也更快)。
library(ggplot2)
xleft <- c(2,3,4,2,1,2,3,4,5)
yleft <- c(2,3,4,3,2,1,6,5,3)
leftdata <- data.frame(xleft, yleft)
ggplot(data = leftdata) +
geom_point(aes(x = xleft, y = yleft)) +
scale_y_reverse(position = "right") +
scale_x_continuous(position = "top") +
ggtitle("Eyetracking Left Eye") +
xlab("X-as") +
ylab("Y-as")
I think this is what you want it to look like, right?
您可以通过调整ylim
参数来改变基数R中y轴的方向。要切换轴的位置,请在图中抑制轴,然后使用 axis
函数添加它们。
plot(iris[,3:4], pch=20, ylim=c(2.5,0),
xaxt='n', yaxt='n', xlab="", ylab="")
axis(side=3)
axis(side=4)