绘图未按顺序显示标签
Plots not showing labels in order
我有以下数据框:
BeginTime APName
20:04:33 wls-wilkeson17-46
20:20:06 wls-wilkeson17-46
21:28:01 wls-wilkeson17-46
21:33:10 wls-wilkeson17-46
21:48:56 wls-wilkeson17-46
21:59:18 wls-wilkeson17-46
21:07:19 wls-wilkeson17-47
我正在尝试像这样在 r 中绘制它:
plot(x = user_sig_all$BeginTime, y = factor(user_sig_all$APName), yaxt = "n")
然后我使用以下方法在 y 轴上绘制标签:
axis(2, at=1:7, labels=user_sig_all$APName)
我得到的图表是
如您所见,它只显示标签 1 和 2,它们是 wls-wilkeson17-46,但根据数据,它应该显示 wls-wilkeson17-47 为最高点。
谁能指出我做错了什么?
绘图后,通过如下所示循环绘制轴:
plot(x = user_sig_all$BeginTime, y = factor(user_sig_all$APName), yaxt = "n")
countt <- 1
last_lab <- user_sig_all$APName[1]
for (AP in user_sig_all$APName){
if(countt == 1) {
axis(2, at=countt:countt, labels=AP)
last_lab <- AP
countt <- countt + 1
} else {
if(last_lab != AP){
axis(2, at=countt:countt, labels=AP)
last_lab <- AP
countt <- countt + 1
}
}
}
希望对您有所帮助。祝你好运:)
问题:
您可能会误解函数 axis()
中的 at
参数,它指定了所有点在 axis(1,2,3 or 4)
处的唯一位置。所以在你的例子中,Y_Axis
只有两个位置,所以 at
应该是 c(1, 2)
.
解决方案:
axis(2, at=c(1, length(levels(user_sig_all$APName))), labels=user_sig_all$APName)
我有以下数据框:
BeginTime APName
20:04:33 wls-wilkeson17-46
20:20:06 wls-wilkeson17-46
21:28:01 wls-wilkeson17-46
21:33:10 wls-wilkeson17-46
21:48:56 wls-wilkeson17-46
21:59:18 wls-wilkeson17-46
21:07:19 wls-wilkeson17-47
我正在尝试像这样在 r 中绘制它:
plot(x = user_sig_all$BeginTime, y = factor(user_sig_all$APName), yaxt = "n")
然后我使用以下方法在 y 轴上绘制标签:
axis(2, at=1:7, labels=user_sig_all$APName)
我得到的图表是
如您所见,它只显示标签 1 和 2,它们是 wls-wilkeson17-46,但根据数据,它应该显示 wls-wilkeson17-47 为最高点。
谁能指出我做错了什么?
绘图后,通过如下所示循环绘制轴:
plot(x = user_sig_all$BeginTime, y = factor(user_sig_all$APName), yaxt = "n")
countt <- 1
last_lab <- user_sig_all$APName[1]
for (AP in user_sig_all$APName){
if(countt == 1) {
axis(2, at=countt:countt, labels=AP)
last_lab <- AP
countt <- countt + 1
} else {
if(last_lab != AP){
axis(2, at=countt:countt, labels=AP)
last_lab <- AP
countt <- countt + 1
}
}
}
希望对您有所帮助。祝你好运:)
问题:
您可能会误解函数 axis()
中的 at
参数,它指定了所有点在 axis(1,2,3 or 4)
处的唯一位置。所以在你的例子中,Y_Axis
只有两个位置,所以 at
应该是 c(1, 2)
.
解决方案:
axis(2, at=c(1, length(levels(user_sig_all$APName))), labels=user_sig_all$APName)