我有这样的矢量
> vec
[1] 6252076 163554 199004 59339 13346 37514 14941 8757
[9] 18009 9564 29090 212084 9221 27056 51972 131662
[17] 6003 30280 1595 9837 32892 39490 5071 34630
[25] 6063 3924 28652 23282 18016 9919 3259 26055
[33] 2693 11050 2047 2845 5911 18121 11186 10678
[41] 1240 2287 1708 4148 3229 33306 2571 1903
[49] 30501 2741 1540 9129 2377 3464 1994 2414
[57] 5545 1326 3272 3228 1586 4433 4933 1597
[65] 1436 2324 735 1234 2321 3657 1055 3621
[73] 382 11770 1414 1073 463 1022 3017 4631
[81] 2578 889 2039 775 3037 600 1938 6973
[89] 833 667 639 5218 843 1762 4144 4061
[97] 420 1267 619 1174 347 236 1423 45820
[105] 929 3736 346 325 495 280 152
当我绘制这些数据时,我会得到一些与下图类似的东西。 http://s28.postimg.org/ugqmtmesd/Rplot.png
在此图中,视觉解释很困难。 所以我厌倦了通过自定义函数
来规范化vec值nor <- function(vec) {
tem <- vector()
max <- max(vec)
min <- min(vec)
for(v in vec){
tem <- c(tem , (v - min) / (max - min))
}
return(tem)
}
[1] 1.000000e+00 2.613627e-02 3.180653e-02 9.467006e-03
[5] 2.110390e-03 5.976080e-03 2.365512e-03 1.376376e-03
[9] 2.856241e-03 1.505457e-03 4.628655e-03 3.389868e-02
[13] 1.450593e-03 4.303315e-03 8.288648e-03 2.103512e-02
[17] 9.358719e-04 4.818997e-03 2.308089e-04 1.549123e-03
[21] 5.236788e-03 6.292143e-03 7.867978e-04 5.514782e-03
[25] 9.454689e-04 6.033343e-04 4.558597e-03 3.699661e-03
[29] 2.857360e-03 1.562239e-03 4.969670e-04 4.143205e-03
[33] 4.064349e-04 1.743143e-03 3.031067e-04 4.307474e-04
[37] 9.211564e-04 2.874155e-03 1.764897e-03 1.683642e-03
[41] 1.740264e-04 3.414949e-04 2.488834e-04 6.391632e-04
[45] 4.921685e-04 5.303008e-03 3.869209e-04 2.800738e-04
[49] 4.854346e-03 4.141125e-04 2.220117e-04 1.435878e-03
[53] 3.558904e-04 5.297569e-04 2.946293e-04 3.618086e-04
[57] 8.626145e-04 1.877822e-04 4.990464e-04 4.920085e-04
[61] 2.293694e-04 6.847492e-04 7.647246e-04 2.311288e-04
[65] 2.053768e-04 3.474131e-04 9.325129e-05 1.730667e-04
[69] 3.469332e-04 5.606274e-04 1.444355e-04 5.548692e-04
[73] 3.678867e-05 1.858308e-03 2.018579e-04 1.473147e-04
[77] 4.974469e-05 1.391572e-04 4.582589e-04 7.164195e-04
[81] 3.880405e-04 1.178837e-04 3.018271e-04 9.964932e-05
[85] 4.614579e-04 7.165794e-05 2.856721e-04 1.091024e-03
[89] 1.089265e-04 8.237464e-05 7.789602e-05 8.103106e-04
[93] 1.105260e-04 2.575207e-04 6.385234e-04 6.252475e-04
[97] 4.286680e-05 1.783451e-04 7.469701e-05 1.634697e-04
[101] 3.119040e-05 1.343586e-05 2.032974e-04 7.304631e-03
[105] 1.242817e-04 5.732635e-04 3.103045e-05 2.767148e-05
[109] 5.486311e-05 2.047370e-05 0.000000e+00
再次绘图我得到了相同的图表。 有没有什么方法可以规范化矢量的值,以获得更好的可视化图形。
答案 0 :(得分:0)
根据alexwhan的建议,您可以使用log='y'
绘制对数y轴:
vec <- c(6252076, 163554, 199004, 59339, 13346, 37514, 14941, 8757 ,
18009, 9564, 29090, 212084, 9221, 27056, 51972, 131662,
6003, 30280, 1595, 9837, 32892, 39490, 5071, 34630,
6063, 3924, 28652, 23282, 18016, 9919, 3259, 26055,
2693, 11050, 2047, 2845, 5911, 18121, 11186, 10678,
1240, 2287, 1708, 4148, 3229, 33306, 2571, 1903,
30501, 2741, 1540, 9129, 2377, 3464, 1994, 2414,
5545, 1326, 3272, 3228, 1586, 4433, 4933, 1597,
1436, 2324, 735, 1234, 2321, 3657, 1055, 3621,
382, 11770, 1414, 1073, 463, 1022, 3017, 4631,
2578, 889, 2039, 775, 3037, 600, 1938, 6973,
833, 667, 639, 5218, 843, 1762, 4144, 4061,
420, 1267, 619, 1174, 347, 236, 1423, 45820,
929, 3736, 346, 325, 495, 280, 152)
barplot(vec, log='y')
另一个解决方案是截断第一个栏。在下面的示例中,我通过将截断值放在条形上方来指示截断。这当然可以改进。
barplot(vec, ylim=c(0, max(vec[-1])), xpd=FALSE)
text(1, par("usr")[4], labels=vec[1], xpd=TRUE, pos=3, cex=0.8)