在R

时间:2018-11-09 14:45:05

标签: r plot scatter-plot axes

目前,我正在研究聊天机器人界面,并利用眼动追踪来测试我的原型。

我的眼动仪每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")`

但是,这并没有创建我想要的轴。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

我建议对此使用ggplot,而不要使用baseR。当然,您可能有充分的理由更喜欢使用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?

答案 1 :(得分:0)

您可以通过调整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)

Adjusted axes