2017-08-23 7 views
0

再調整 - 私は24:00に6時00分の代わりに、夜12時00分に6時00分からのデータを表現するためにX軸を再調整しようとしていますしかしRearrange x-axis of hour when plotting24時間X軸これと同様に

を、それはX軸を台無しにする。

データ:

intraday_txt_file <- structure(list(Time = structure(c(26100, 
27000, 27900, 28800, 29700, 30600, 31500, 32400, 33300, 34200, 
35100, 36000, 36900, 37800, 38700, 39600, 40500, 41400, 42300, 
43200, 44100, 45000, 45900, 46800, 47700, 48600, 49500, 50400, 
51300, 52200, 53100, 54000, 54900, 55800, 56700, 57600, 58500, 
59400, 60300, 61200, 62100, 63000, 63900, 64800, 65700, 66600, 
67500, 68400, 69300, 70200, 71100, 72000, 72900, 73800, 74700, 
75600, 76500, 77400, 78300, 79200, 80100, 81000, 81900, 82800, 
83700, 84600, 85500, 0, 900, 1800, 2700, 3600, 4500, 5400, 6300, 
7200, 8100, 9000, 9900, 10800, 11700, 12600, 13500, 14400, 15300, 
16200, 17100, 18000, 18900, 19800, 20700, 21600, 22500, 23400, 
24300, 25200), class = c("hms", "difftime"), units = "secs"), 
    INTA_Lots_mean = c(NA, NA, NA, NA, NA, NA, NA, 73984.715, 
    36398.878, 30098.959, 21533.846, 24296.163, 20539.797, 21192.252, 
    17612.496, 19831.846, 20631.52, 23240.805, 23972.073, 24200.455, 
    22363.569, 22265.098, 20557.48, 21230.382, 18844.699, 22010.163, 
    20812.512, 21221.878, 22924.504, 21992.992, 22509.618, 23750.634, 
    22121.642, 23369.967, 22068.049, 26012.577, 28152.398, 32201.496, 
    58135.967, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA 
    ), INTA_Lots_std = c(NA, NA, NA, NA, NA, NA, NA, 41740.852, 
    26323.267, 31494.997, 17372.736, 22878.702, 16481.729, 15110.977, 
    12381.22, 15655.354, 16294.203, 17253.988, 18914.862, 18621.711, 
    16384.099, 15387.439, 15134.235, 14464.337, 13002.569, 15932.94, 
    14962.817, 16946.067, 24816.059, 21380.265, 24375.386, 30607.979, 
    26846.754, 17933.188, 14997.061, 21886.529, 23173.84, 27807.377, 
    28184.678, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA 
    ), IRDA_Lots_mean = c(NA, NA, NA, NA, NA, 1271.707, 2272.006, 
    33699.343, 19327.388, 15762.715, 11916.711, 21163.86, 15396.483, 
    14911.472, 13412.402, 14698.81, 16561.908, 17895.329, 18650.726, 
    18556.327, 15935.201, 20168.895, 15601.759, 17094.025, 15736.998, 
    21720.512, 21544.528, 17483.511, 18670.3, 17477.802, 17438.378, 
    16960.129, 20284.782, 17203.795, 17586.255, 20273.703, 21424.784, 
    21923.632, 23978.738, 13286.08, 13712.075, 10944.542, 11432.804, 
    13894.02, 11197.045, 14604.252, 11990.414, 14132.117, 11432.437, 
    13730.811, 11309.181, 11947.59, 11324.433, 11022.147, 9414.195, 
    9145.563, 8691.341, 8108.503, 6446.155, 6166.262, 5753.7, 
    6149.614, 6226.886, 7826.464, 11658.896, 5361.886, 3496.871, 
    1460.498, 1256.267, 1016.859, 1206.821, 893.054, 942.714, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA), IRDA_Lots_std = c(NA, NA, 
    NA, NA, NA, 1433.858, 2581.898, 22207.275, 15121.946, 16657.104, 
    10899.359, 13708.1, 10400.011, 12444.217, 12760.809, 10444.613, 
    16274.861, 11497.044, 12718.511, 13941.236, 11236.403, 17853.39, 
    10817.427, 11310.902, 12601.305, 23305.664, 19830.797, 12940.04, 
    18228.873, 15635.497, 17982.281, 18759.47, 32414.141, 18211.717, 
    22634.491, 25927.506, 27611.062, 22798.686, 24446.332, 18999.978, 
    25386.016, 10063.113, 11866.369, 13476.158, 9353.398, 10568.435, 
    7014.083, 8516.016, 5822.023, 9496.983, 7321.559, 6765.07, 
    9608.491, 8254.933, 5630.712, 5261.965, 5485.282, 8198.851, 
    4906.826, 3867.122, 4109.706, 3943.369, 3465.291, 4727.148, 
    5780.821, 6800.459, 4758.242, 1780.91, 2597.447, 1326.812, 
    2684.613, 965.589, 1242.637, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA), INTA_Ticks_mean = c(NA, NA, NA, NA, NA, NA, NA, 494.888, 
    310.75, 258.741, 215.871, 215.603, 187.983, 187.509, 166.647, 
    178.672, 175.388, 191.224, 192, 197.612, 187.009, 191.543, 
    179.578, 190.94, 168.431, 190.491, 184.509, 194.405, 189.155, 
    193.931, 193.155, 208.233, 206.698, 225.871, 211.284, 232.672, 
    242.871, 278.897, 425.888, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA), INTA_Ticks_std = c(NA, NA, NA, NA, NA, NA, 
    NA, 115.749, 108.685, 114.755, 92.887, 95.142, 83.583, 78.961, 
    74.319, 77.522, 79.758, 80.696, 86.048, 84.402, 86.307, 80.012, 
    65.364, 75.517, 60.811, 76.338, 77.981, 80.13, 93.237, 101.717, 
    99.321, 99.348, 94.091, 81.251, 80.525, 104.066, 91.521, 
    104.817, 82.811, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA), IRDA_Ticks_mean = c(NA, NA, NA, NA, NA, 13.621, 
    22.088, 478.244, 277.115, 222.574, 171.984, 320.504, 219.854, 
    219.033, 180.772, 233.382, 221.447, 273.512, 280, 268.756, 
    247.341, 273.561, 226.569, 255.528, 222.171, 286.171, 274.415, 
    262.423, 268.61, 263.504, 236.22, 228.203, 226.301, 226.74, 
    205.878, 226.138, 272.26, 305.59, 341.667, 142.87, 135.894, 
    167.618, 178.935, 220.789, 185.26, 245.797, 211.943, 244.065, 
    202.39, 224.984, 193.593, 220.252, 191.813, 194.146, 172.553, 
    174.593, 163.854, 137.789, 118.431, 118.309, 113.959, 118.13, 
    120.659, 153.943, 226.203, 92.439, 57.183, 17.811, 13.311, 
    11.52, 18.384, 11.04, 9.276, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA), IRDA_Ticks_std = c(NA, NA, NA, NA, NA, 13.009, 22.559, 
    339.917, 226.769, 246.241, 171.693, 193.124, 135.523, 158.417, 
    111.697, 166.274, 132.982, 175.104, 194.476, 167.98, 161.592, 
    176.042, 154.074, 175.578, 161.452, 212.025, 199.233, 177.949, 
    234.942, 244.076, 199.184, 181.156, 199.243, 165.708, 138.499, 
    163.454, 224.862, 302.301, 252.687, 94.196, 80.813, 120.781, 
    121.624, 195.986, 139.993, 125.607, 106.021, 132.839, 93.058, 
    98.6, 106.225, 121.992, 118.005, 123.986, 90.991, 89.769, 
    84.775, 69.574, 63.468, 64.524, 68.963, 65.239, 58.548, 77.487, 
    104.574, 95.739, 86.272, 20.987, 22.121, 14.254, 78.781, 
    16.157, 10.833, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), INTA_VAR_MEAN = c(NA, 
    NA, NA, NA, NA, NA, NA, 2.048, 0.113, 0.128, 0.041, 0.054, 
    0.04, 0.038, 0.032, 0.04, 0.048, 0.052, 0.045, 0.069, 0.043, 
    0.055, 0.049, 0.063, 0.048, 0.059, 0.052, 0.09, 0.046, 0.075, 
    0.096, 0.096, 0.056, 0.046, 0.041, 0.102, 0.107, 0.075, 0.071, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), INTA_VAR_Stdev = c(NA, 
    NA, NA, NA, NA, NA, NA, 5.124, 0.275, 0.761, 0.132, 0.219, 
    0.131, 0.116, 0.067, 0.11, 0.109, 0.138, 0.107, 0.344, 0.105, 
    0.195, 0.149, 0.159, 0.13, 0.201, 0.138, 0.535, 0.116, 0.206, 
    0.517, 0.599, 0.146, 0.121, 0.117, 0.464, 0.371, 0.259, 0.155, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), IRDA_VAR_MEAN = c(NA, 
    NA, NA, NA, NA, 0.501, 0.124, 0.465, 0.133, 0.134, 0.05, 
    0.06, 0.04, 0.04, 0.032, 0.042, 0.054, 0.055, 0.058, 0.066, 
    0.046, 0.054, 0.046, 0.064, 0.054, 0.069, 0.059, 0.081, 0.049, 
    0.079, 0.079, 0.081, 0.066, 0.051, 0.039, 0.099, 0.098, 0.069, 
    0.067, 0.071, 0.054, 0.106, 0.051, 0.187, 0.062, 0.05, 0.069, 
    0.07, 0.04, 0.065, 0.048, 0.06, 0.054, 0.044, 0.053, 0.053, 
    0.05, 0.028, 0.022, 0.025, 0.033, 0.029, 0.028, 0.027, 0.051, 
    0.08, 0.037, 0.022, 0.021, 0.022, 0.033, 0.028, 0.039, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA), IRDA_VAR_Stdev = c(NA, NA, NA, 
    NA, NA, 1.892, 0.353, 1.154, 0.307, 0.761, 0.148, 0.197, 
    0.101, 0.129, 0.06, 0.112, 0.113, 0.137, 0.129, 0.242, 0.096, 
    0.147, 0.124, 0.148, 0.147, 0.213, 0.142, 0.355, 0.103, 0.203, 
    0.311, 0.496, 0.156, 0.111, 0.104, 0.455, 0.324, 0.248, 0.135, 
    0.153, 0.117, 0.791, 0.105, 0.76, 0.139, 0.126, 0.137, 0.217, 
    0.073, 0.145, 0.119, 0.124, 0.141, 0.108, 0.144, 0.126, 0.107, 
    0.058, 0.048, 0.044, 0.076, 0.052, 0.064, 0.058, 0.146, 0.418, 
    0.133, 0.049, 0.091, 0.073, 0.163, 0.076, 0.101, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA)), .Names = c("Time", "INTA_Lots_mean", 
"INTA_Lots_std", "IRDA_Lots_mean", "IRDA_Lots_std", "INTA_Ticks_mean", 
"INTA_Ticks_std", "IRDA_Ticks_mean", "IRDA_Ticks_std", "INTA_VAR_MEAN", 
"INTA_VAR_Stdev", "IRDA_VAR_MEAN", "IRDA_VAR_Stdev"), class = c("tbl_df", 
"tbl", "data.frame"), row.names = c(NA, -96L), spec = structure(list(
    cols = structure(list(Time = structure(list(format = "%H:%M"), .Names = "format", class = c("collector_time", 
    "collector")), INTA_Lots_mean = structure(list(), class = c("collector_double", 
    "collector")), INTA_Lots_std = structure(list(), class = c("collector_double", 
    "collector")), IRDA_Lots_mean = structure(list(), class = c("collector_double", 
    "collector")), IRDA_Lots_std = structure(list(), class = c("collector_double", 
    "collector")), INTA_Ticks_mean = structure(list(), class = c("collector_double", 
    "collector")), INTA_Ticks_std = structure(list(), class = c("collector_double", 
    "collector")), IRDA_Ticks_mean = structure(list(), class = c("collector_double", 
    "collector")), IRDA_Ticks_std = structure(list(), class = c("collector_double", 
    "collector")), `INTA_VAR_MEAN^6` = structure(list(), class = c("collector_double", 
    "collector")), `INTA_VAR_Stdev^6` = structure(list(), class = c("collector_double", 
    "collector")), `IRDA_VAR_MEAN^6` = structure(list(), class = c("collector_double", 
    "collector")), `IRDA_VAR_Stdev^6` = structure(list(), class = c("collector_double", 
    "collector"))), .Names = c("Time", "INTA_Lots_mean", "INTA_Lots_std", 
    "IRDA_Lots_mean", "IRDA_Lots_std", "INTA_Ticks_mean", "INTA_Ticks_std", 
    "IRDA_Ticks_mean", "IRDA_Ticks_std", "INTA_VAR_MEAN^6", "INTA_VAR_Stdev^6", 
    "IRDA_VAR_MEAN^6", "IRDA_VAR_Stdev^6")), default = structure(list(), class = c("collector_guess", 
    "collector"))), .Names = c("cols", "default"), class = "col_spec")) 

コード:

ggplot(data=intraday_txt_file, aes(x=Time, y=INTA_Lots_mean)) + 
geom_point() + geom_line() + 
geom_errorbar(aes(ymin=INTA_Lots_mean-INTA_Lots_std, 
        ymax=INTA_Lots_mean+INTA_Lots_std), width=.1) 

グラフ:あなたのデータセットで

enter image description here

+0

感謝を。私は決してそれをすることはできません。私はそれについてremを必要と思う。ごめんなさい、ありがとう – shoonya

答えて

2

、時間変数のクラスはhms & difftimeです。リンクしたソリューションは、ユーザーがレベルで順序を指定できるように、時間の変換をFactorクラスにする必要があります。

これを試してみてください:再フォーマット用

# specify order for Time. In this case with 15 min intervals, the 25th position 
# for alphabetically sorted time is 06:00:00 
Time.order <- sort(as.character(intraday_txt_file$Time))[c(25:96, 1:24)] 

# specify label breaks for x-axis by changing some to blanks. "by = 12" is for 3-hour breaks, 
# since 12 x 15min interval = 3 hours. for 2-hour breaks, use "by = 8", etc. 
Time.breaks <- Time.order 
Time.breaks[setdiff(seq(1, 96), seq(1, 96, by = 12))] <- "" 

ggplot(data=intraday_txt_file %>% mutate(Time = factor(Time, levels = Time.order)), 
     aes(x=Time, y=INTA_Lots_mean)) + 
    geom_point() + geom_line() + 
    geom_errorbar(aes(ymin=INTA_Lots_mean-INTA_Lots_std, 
        ymax=INTA_Lots_mean+INTA_Lots_std), width=.1) + 
    scale_x_discrete(labels = Time.breaks) 

plot

関連する問題