我有一些高分辨率时间刻度的数据,我正在使用对数(log 10)刻度绘制,但是我想显示沿x轴的实际时间单位,而不是" log 10(时间)"。
这里是数据
time ft
0.01 229
0.02 231
0.03 232
0.04 234
0.05 236
0.06 238
0.07 239
0.08 239
0.09 239
0.1 239
0.11 240
0.12 241
0.13 243
0.14 245
0.15 247
0.16 249
0.17 251
0.18 253
0.19 254
0.2 256
0.21 258
0.22 260
0.23 261
0.24 262
0.25 263
0.26 263
0.27 263
0.28 263
0.29 265
0.3 265
0.4 274
0.5 280
0.6 286
0.7 292
0.8 298
0.9 305
1 312
1.1 316
1.2 320
1.3 323
1.4 327
1.5 331
1.6 336
1.7 341
1.8 344
1.9 347
2 350
2.1 353
2.2 356
2.3 360
2.4 363
2.5 366
2.6 368
2.7 371
2.8 374
2.9 378
3 381
4 400
5 415
6 429
7 442
8 455
9 467
10 479
11 491
12 504
13 516
14 528
15 539
16 550
17 561
18 572
19 581
20 590
21 600
22 608
23 616
24 623
25 629
26 635
27 640
28 646
29 653
30 656
40 679
50 704
60 734
70 768
80 802
90 834
100 863
110 886
120 905
130 918
140 927
150 933
160 939
170 944
180 948
190 951
200 953
210 956
220 959
230 962
240 964
250 966
260 967
270 967
280 967
290 968
300 968
400 970
500 970
600 971
700 971
800 971
900 971
1000 970
这就是我想要的样子
这是我的代码
ojip<-ojip
attach(ojip)
logt<-log10(ojip$time)
plot(logt,ojip$ft,xlab="Time (ms)",ylab="Fluorescence intensity",
xaxt='n',yaxt='n',ylim=c(0,1300),cex.axis=0.8,cex.lab=0.8,
pch=21,cex=0.8,font.lab=2,font.axis=2)
axis(side=2,at=seq(0,1200,200),cex.axis=0.7,font=2)
我希望使用我的数据沿x轴显示跟踪的实际时间,如图中所示。任何解决方案??
答案 0 :(得分:1)
不要使用logt变量,只需使用plot
的内置功能来制作对数图。
plot(ojip, xlab="Time (ms)",ylab="Fluorescence intensity",
xaxt='n',yaxt='n',ylim=c(0,1300),cex.axis=0.8,cex.lab=0.8,
pch=21,cex=0.8,font.lab=2,font.axis=2, log="x")
axis(side=2,at=seq(0,1200,200),cex.axis=0.7,font=2)
axis(side=1,at=10^(-2:3),cex.axis=0.7,font=2,
labels=c(0.01, 0.1, 1, 10, 100, 1000))