以对数刻度显示实际单位

时间:2017-09-13 19:13:51

标签: r axis logarithm

我有一些高分辨率时间刻度的数据,我正在使用对数(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 curve

这是我的代码

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轴显示跟踪的实际时间,如图中所示。任何解决方案??

1 个答案:

答案 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))

Log plot

相关问题