我究竟做错了什么?重新标记 x 轴刻度线
What am I doing wrong? Relabeling x axis tick marks
这是我关于 Whosebug 的第一个问题。我是一个长期的潜伏者,希望这篇文章写得通俗易懂。所以,我已经在这里浏览了答案并将这些建议合并到我的代码中,但显然我遗漏或做错了什么。
问题: 我正在尝试将当前显示 0:60 的 x 轴替换为 10 (10,20,30...),即使 x是从 1946:2012 开始以年为单位输入的,而不是年。每次我 运行 代码 axis() 都没有对代码进行任何更改。我试过在 plot 参数中设置 axes = FALSE,虽然这消除了轴,但 axis() 仍然不执行任何操作。我还打算以类似的方式更改 Y 轴(从小数转换为百分比)。我考虑过简单地使用创建新向量并将它们输入为我的 X 和 Y,但我宁愿不对数据库进行任何更改。
密钥
unvoting$PctAgreeUS 是一个十进制数值,表示在给定年份的联合国大会上与美国达成协议,
unvoting$Year 是一个整数,它为每个观察值分配一个年份。
代码
plot(tapply(unvoting$PctAgreeUS,unvoting$Year,mean),
xlab="Year", axes = TRUE,
ylab="Percent Agree", ylim = c(0,.8),
main = "Agreement with the United States",
type="l")
#the x axis
axisyears<-c(unique(unvoting$Year))
axis(1,at = seq(round(min(axisyears)),
round(max(axisyears)),by=1),
labels = 1946:2012)
#the y axis
axisagrmt <-c(unvoting$PctAgreeUS)
axis(2, at = seq(0,8,), by=1,
labels = c("0",".1",".2",".3",".4",".5",".6",".7",".8"))
谢谢
您需要将 at
值设置为标签在 当前 轴刻度上的位置(即 x 轴上的 1:67)
plot(tapply(unvoting$PctAgreeUS, unvoting$Year, mean),
xlab = "Year",
axes = FALSE,
ylab = "Percent Agree",
ylim = c(0,.8),
main = "Agreement with the United States",
type = "l")
axis(1, at = 1:67, labels = 1946:2012)
axis(2, at = seq(0, 0.8, 0.1))
编数据
unvoting <- data.frame(PctAgreeUS = runif(67 * 4, 0, 1),
Year = rep(1946:2012, each = 4),
country = rep(LETTERS[1:4], each = 67))
这是我关于 Whosebug 的第一个问题。我是一个长期的潜伏者,希望这篇文章写得通俗易懂。所以,我已经在这里浏览了答案并将这些建议合并到我的代码中,但显然我遗漏或做错了什么。
问题: 我正在尝试将当前显示 0:60 的 x 轴替换为 10 (10,20,30...),即使 x是从 1946:2012 开始以年为单位输入的,而不是年。每次我 运行 代码 axis() 都没有对代码进行任何更改。我试过在 plot 参数中设置 axes = FALSE,虽然这消除了轴,但 axis() 仍然不执行任何操作。我还打算以类似的方式更改 Y 轴(从小数转换为百分比)。我考虑过简单地使用创建新向量并将它们输入为我的 X 和 Y,但我宁愿不对数据库进行任何更改。
密钥
unvoting$PctAgreeUS 是一个十进制数值,表示在给定年份的联合国大会上与美国达成协议,
unvoting$Year 是一个整数,它为每个观察值分配一个年份。
代码
plot(tapply(unvoting$PctAgreeUS,unvoting$Year,mean),
xlab="Year", axes = TRUE,
ylab="Percent Agree", ylim = c(0,.8),
main = "Agreement with the United States",
type="l")
#the x axis
axisyears<-c(unique(unvoting$Year))
axis(1,at = seq(round(min(axisyears)),
round(max(axisyears)),by=1),
labels = 1946:2012)
#the y axis
axisagrmt <-c(unvoting$PctAgreeUS)
axis(2, at = seq(0,8,), by=1,
labels = c("0",".1",".2",".3",".4",".5",".6",".7",".8"))
谢谢
您需要将 at
值设置为标签在 当前 轴刻度上的位置(即 x 轴上的 1:67)
plot(tapply(unvoting$PctAgreeUS, unvoting$Year, mean),
xlab = "Year",
axes = FALSE,
ylab = "Percent Agree",
ylim = c(0,.8),
main = "Agreement with the United States",
type = "l")
axis(1, at = 1:67, labels = 1946:2012)
axis(2, at = seq(0, 0.8, 0.1))
编数据
unvoting <- data.frame(PctAgreeUS = runif(67 * 4, 0, 1),
Year = rep(1946:2012, each = 4),
country = rep(LETTERS[1:4], each = 67))