我正在尝试为我的图表创建漂亮的x10 ^符号,并且我已尝试按照此帖子R scientific notation in plots,其中包sfmisc
正常工作。但是,无论我如何格式化数据,eaxis(2)
(用于格式化轴)对我的情节都没有影响。
我错过了什么?
test <- structure(list(y = c(57074, 55293, 52530, 53874, 56858, 53661,
55945, 54193, 55163, 57583, 54338, 54641, 54614, 54193, 52836,
55719, 55002, 55507, 53366, 51949, 53235, 55353, 55474, 54739,
55133, 53775, 52727, 53495, 52972, 55992, 53175, 54166, 55292,
54872, 53192, 54397, 53942, 55366, 53018, 52682, 53622, 55850,
55789, 54557, 54848, 56765, 52820, 53870, 55348, 53204, 51285,
53042, 54367, 52928, 52964, 52627, 56657, 55148, 58890, 53701,
54805, 54079, 54131, 57278, 56781, 55465, 56775, 52513, 55431,
55771, 54583, 57358, 54072, 55033, 53156, 53696, 52911, 54076,
54462, 56536, 53085, 52569, 53266, 54299, 55848, 54259, 53627,
52437, 52220, 52433, 50191, 52412, 50372, 50910, 50455, 50815,
50701, 50746, 49721, 51859, 49399, 51059, 52265, 52060, 52218,
52301, 50035, 49646, 52039, 48850, 51266, 52174, 49523, 51270,
55213, 54284, 54485, 54310, 54911, 54777, 57283, 55636, 55980,
56536, 55678, 55285, 55472, 51623, 53241, 54765, 53099, 53019,
51083, 54019, 54929, 52155, 53065, 52312, 52634, 53296, 56518,
54127, 54694, 55895, 55742, 53929, 55745, 53512, 54497, 51416,
52731, 53866, 53657, 53252, 54001, 53491, 52997, 52558, 52332,
54119, 55268, 51572, 51772, 59194, 54984, 55794, 54978, 52114,
54799, 55598, 53137, 52842, 53786, 53036, 53468, 54336, 52490,
53004, 57766, 54496, 52993, 56228, 56760, 54302, 54288, 54655,
53952, 57342, 54309, 52621, 55790, 57443, 56504, 53485, 51602,
54750, 55084, 54772, 53335, 51547, 55785, 52702, 53834, 53291,
49956, 52136, 53654, 57252, 56039, 52538, 55018, 55865, 54330,
54124, 51033, 55412, 54307, 54392, 54136, 53871, 53653, 54696,
53771, 52851, 54716, 54913, 56345, 54308, 55249, 55373, 55690,
54914, 56746, 53988, 57099, 54371, 56105, 57137, 59156, 55028,
55581, 55535, 56482, 55476, 53783, 56046, 53198, 53563, 55850,
55683, 54875, 55898, 53729, 54716, 54212, 54092, 55754, 56013,
55246, 53031, 54555, 55019, 53641, 54781, 55561, 54474, 51939,
53266, 54739, 56521, 54364, 54790, 55421, 55069, 57094, 54506,
58930, 54327, 54123, 54634, 57260, 55882, 55877, 54139, 54970,
53891, 53422, 53744, 55637, 57497, 57123, 53079, 53758, 56498,
56829, 54675, 54230, 59734, 54357, 55031, 52837, 54500, 55159,
55749, 56107, 54042, 56369, 53032, 54262, 52873, 54448, 57216,
51369, 57130, 54384, 56405, 55455, 55829, 54439, 54263, 56004,
55406, 56198, 55726, 57043, 56563, 56367, 53822, 53942, 54641,
56275, 57232, 52531, 58216, 52519, 54866, 53658, 55304, 55083,
56328, 57085, 57240, 53078, 54329, 54543, 55873, 55025, 54464,
55384, 56595, 52406, 52001, 57799, 57266, 54401, 51738, 54082,
52939, 55056, 56213, 56398, 53303, 53542, 54507, 57726, 53327,
54101, 53053, 55762, 54932, 56123, 54218, 52915, 54611, 54422,
53886, 54051, 52986, 55194, 55142, 53504, 53295, 54768, 55053,
49884, 54736, 55189, 54206, 53849, 53789, 54086, 55643, 51360,
54165, 51264, 53291, 57359, 56053, 55976, 57091, 55735, 53533,
56725, 52441, 54994, 54917, 54974, 54096, 55083, 52477, 56169,
56359, 54426, 55544, 51978, 54035, 56876, 57854, 55146, 56639,
51805, 55647, 56116, 56271, 53695, 56423, 54165, 54180, 56357,
54237, 56700, 53289, 56073, 55123, 55444, 55155, 52194, 54319,
57223, 56239, 54243, 53742, 54085, 57219, 53422, 53783, 53100,
55414, 54684, 57014, 60754, 55931, 58489, 55270, 53538, 55047,
56150, 54381, 54541, 54766, 56071, 53033, 54239, 56986, 55029,
54969, 56272, 56499, 53772, 55771, 53209, 58113, 56394, 54774,
53949, 56244, 53717, 54025, 56384, 55484, 56039, 56903, 55552,
53577, 54915, 53726, 53180, 55989, 54755, 55858, 56673, 53346,
55448, 53865, 54942, 54082, 52907, 54950, 52756, 55881, 55814,
52827, 53975, 54206, 55546, 56302, 53321, 55201, 55058, 53752,
53509, 54106, 53114, 53601, 51200, 53728, 58390, 54606, 50244,
54820, 51741, 54901, 56244, 54045, 54321, 48708, 48849, 50568,
51046, 49521, 55125, 55263, 51129, 52098, 53514, 53308, 53484,
56802, 52715, 52036, 54830, 55266, 55201, 54889, 52897, 55511,
53511, 54425, 54776, 55302, 54407, 56235, 55209, 54099, 55264,
53536, 54010, 54778, 56237, 55288, 54575, 54293, 57440, 52406,
55186, 55728, 54548, 53119, 53555, 53402, 54795, 57850, 55597,
55913, 52279, 53603, 55519, 55947, 53623, 51781, 52208, 56492,
55805, 54583, 52270, 51461, 52020, 54355, 51711, 53720, 52368,
54067, 57222, 55416, 53904, 52201, 54070, 54909, 54515, 55301,
54601, 54641, 55289, 53188, 56281, 56059, 56244, 54388, 54634,
54453, 52560, 53829, 49529, 49866, 52235, 50962, 52210, 49999,
52891, 53887, 54851, 53912, 52974, 55562, 51006, 52187, 55993,
54228, 50763, 52544, 55946, 53833, 51390, 55123, 54710, 52034,
52058, 51769, 52550, 54152, 53859, 53770, 55579, 55697, 53553,
53328, 58090, 55302, 55555, 54815, 55887, 57412, 52425, 53808,
53989, 54318, 55453, 53097, 51731, 49651, 56463, 54621, 55636,
53732, 53388, 55845, 55520, 56869, 54371, 55273, 55443, 56710,
54771, 56720, 56277, 53507, 55654, 54104, 58184, 55087, 54472,
56111, 56677, 54988, 54142, 53161, 55053, 53725, 54838, 53708,
54175, 55121, 51161, 56567, 56086, 56392, 56494, 55197, 54527,
55227), x = structure(c(" 1", " 2", " 3", " 4", " 5", " 6",
" 7", " 8", " 9", " 10", " 11", " 12", " 13", " 14", " 15",
" 16", " 17", " 18", " 19", " 20", " 21", " 22", " 23", " 24",
" 25", " 26", " 27", " 28", " 29", " 30", " 31", " 32", " 33",
" 34", " 35", " 36", " 37", " 38", " 39", " 40", " 41", " 42",
" 43", " 44", " 45", " 46", " 47", " 48", " 49", " 50", " 51",
" 52", " 53", " 54", " 55", " 56", " 57", " 58", " 59", " 60",
" 61", " 62", " 63", " 64", " 65", " 66", " 67", " 68", " 69",
" 70", " 71", " 72", " 73", " 74", " 75", " 76", " 77", " 78",
" 79", " 80", " 81", " 82", " 83", " 84", " 85", " 86", " 87",
" 88", " 89", " 90", " 91", " 92", " 93", " 94", " 95", " 96",
" 97", " 98", " 99", "100", "101", "102", "103", "104", "105",
"106", "107", "108", "109", "110", "111", "112", "113", "114",
"115", "116", "117", "118", "119", "120", "121", "122", "123",
"124", "125", "126", "127", "128", "129", "130", "131", "132",
"133", "134", "135", "136", "137", "138", "139", "140", "141",
"142", "143", "144", "145", "146", "147", "148", "149", "150",
"151", "152", "153", "154", "155", "156", "157", "158", "159",
"160", "161", "162", "163", "164", "165", "166", "167", "168",
"169", "170", "171", "172", "173", "174", "175", "176", "177",
"178", "179", "180", "181", "182", "183", "184", "185", "186",
"187", "188", "189", "190", "191", "192", "193", "194", "195",
"196", "197", "198", "199", "200", "201", "202", "203", "204",
"205", "206", "207", "208", "209", "210", "211", "212", "213",
"214", "215", "216", "217", "218", "219", "220", "221", "222",
"223", "224", "225", "226", "227", "228", "229", "230", "231",
"232", "233", "234", "235", "236", "237", "238", "239", "240",
"241", "242", "243", "244", "245", "246", "247", "248", "249",
"250", "251", "252", "253", "254", "255", "256", "257", "258",
"259", "260", "261", "262", "263", "264", "265", "266", "267",
"268", "269", "270", "271", "272", "273", "274", "275", "276",
"277", "278", "279", "280", "281", "282", "283", "284", "285",
"286", "287", "288", "289", "290", "291", "292", "293", "294",
"295", "296", "297", "298", "299", "300", "301", "302", "303",
"304", "305", "306", "307", "308", "309", "310", "311", "312",
"313", "314", "315", "316", "317", "318", "319", "320", "321",
"322", "323", "324", "325", "326", "327", "328", "329", "330",
"331", "332", "333", "334", "335", "336", "337", "338", "339",
"340", "341", "342", "343", "344", "345", "346", "347", "348",
"349", "350", "351", "352", "353", "354", "355", "356", "357",
"358", "359", "360", "361", "362", "363", "364", "365", "366",
"367", "368", "369", "370", "371", "372", "373", "374", "375",
"376", "377", "378", "379", "380", "381", "382", "383", "384",
"385", "386", "387", "388", "389", "390", "391", "392", "393",
"394", "395", "396", "397", "398", "399", "400", "401", "402",
"403", "404", "405", "406", "407", "408", "409", "410", "411",
"412", "413", "414", "415", "416", "417", "418", "419", "420",
"421", "422", "423", "424", "425", "426", "427", "428", "429",
"430", "431", "432", "433", "434", "435", "436", "437", "438",
"439", "440", "441", "442", "443", "444", "445", "446", "447",
"448", "449", "450", "451", "452", "453", "454", "455", "456",
"457", "458", "459", "460", "461", "462", "463", "464", "465",
"466", "467", "468", "469", "470", "471", "472", "473", "474",
"475", "476", "477", "478", "479", "480", "481", "482", "483",
"484", "485", "486", "487", "488", "489", "490", "491", "492",
"493", "494", "495", "496", "497", "498", "499", "500", "501",
"502", "503", "504", "505", "506", "507", "508", "509", "510",
"511", "512", "513", "514", "515", "516", "517", "518", "519",
"520", "521", "522", "523", "524", "525", "526", "527", "528",
"529", "530", "531", "532", "533", "534", "535", "536", "537",
"538", "539", "540", "541", "542", "543", "544", "545", "546",
"547", "548", "549", "550", "551", "552", "553", "554", "555",
"556", "557", "558", "559", "560", "561", "562", "563", "564",
"565", "566", "567", "568", "569", "570", "571", "572", "573",
"574", "575", "576", "577", "578", "579", "580", "581", "582",
"583", "584", "585", "586", "587", "588", "589", "590", "591",
"592", "593", "594", "595", "596", "597", "598", "599", "600",
"601", "602", "603", "604", "605", "606", "607", "608", "609",
"610", "611", "612", "613", "614", "615", "616", "617", "618",
"619", "620", "621", "622", "623", "624", "625", "626", "627",
"628", "629", "630", "631", "632", "633", "634", "635", "636",
"637", "638", "639", "640", "641", "642", "643", "644", "645",
"646", "647", "648", "649", "650", "651", "652", "653", "654",
"655", "656", "657", "658", "659", "660", "661", "662", "663",
"664", "665", "666", "667", "668", "669", "670", "671", "672",
"673", "674", "675", "676", "677", "678", "679", "680", "681",
"682", "683", "684", "685", "686", "687", "688", "689", "690",
"691", "692", "693", "694", "695", "696", "697", "698", "699",
"700"), class = "AsIs")), .Names = c("y", "x"), row.names = c(NA,
-700L), class = "data.frame")
plot(x = test$x, y = test$y, type = "l",
xaxt="n", yaxt="n")
require("sfsmisc")
eaxis(2)
答案 0 :(得分:1)
像@DaveRGP建议的ggplot2
可以轻松完成这样的事情,例如:
library(ggplot2)
library(scales)
test$x <- as.numeric(as.character(test$x))
test$y <- as.numeric(as.character(test$y))
ggplot(data = test, aes(x = x, y = y)) + geom_line() +
scale_y_continuous(trans = "log10", breaks = trans_breaks("log10", function(x) 10 ^ (x)),
labels = trans_format("log10", math_format(10 ^ .x)))