gpt4 book ai didi

r - 如何在几何线上添加标签?

转载 作者:行者123 更新时间:2023-12-04 11:15:50 24 4
gpt4 key购买 nike

我不想在情节外添加图例,而是想在情节内添加“分位数 1”、“分位数 10”等名称作为标签。

ggplot() + 
geom_line(data=df.quants, aes(x=xvars, y=q01), color="black", size =0.5) +
geom_line(data=df.quants, aes(x=xvars, y=q10), color="black", size =0.7) +
geom_line(data=df.quants, aes(x=xvars, y=q25), color="black", size =1) +
geom_line(data=df.quants, aes(x=xvars, y=q50), color="black", size =1.2) +
geom_line(data=df.quants, aes(x=xvars, y=q75), color="black", size =1) +
geom_line(data=df.quants, aes(x=xvars, y=q90), color="black", size =0.7) +
geom_line(data=df.quants, aes(x=xvars, y=q99), color="black", size =0.5) +
geom_ribbon(data=df.quants,aes(x=xvars,ymin=q25,ymax=q75),alpha=0.8)+
geom_ribbon(data=df.quants,aes(x=xvars,ymin=q10,ymax=q25),alpha=0.5)+
geom_ribbon(data=df.quants,aes(x=xvars,ymin=q75,ymax=q90),alpha=0.5)+
geom_ribbon(data=df.quants,aes(x=xvars,ymin=q01,ymax=q10),alpha=0.2)+
geom_ribbon(data=df.quants,aes(x=xvars,ymin=q90,ymax=q99),alpha=0.2)+
theme_bw()+
ggtitle("Q")+
ggsave("save.png")

如何在这两种情况中的一种或两种情况下在图上添加标签:

  1. 在行尾(例如 https://stackoverflow.com/a/37696769/3942806 )
  2. 将鼠标悬停在左侧的线条上 (https://stackoverflow.com/a/37672486/3942806)

enter image description here

输入(df.quants)

structure(list(xvars = c(21.1084, 40.4038, 42.4758, 44.0298, 
44.8068, 53.0948, 53.3538, 54.3898, 56.4617, 62.9367, 67.3397,
68.8937, 68.8937, 74.3327, 78.7356, 80.2896, 87.8006, 95.0526,
98.6785, 105.6715, 114.4775, 116.5495, 121.7294, 127.4274, 133.6434,
146.3343, 153.0683, 158.2483, 163.6872, 169.9032, 180.7812, 186.4791,
186.9971, 194.5081, 196.3211, 203.8321, 209.789, 215.746, 218.336,
222.998, 230.7679, 237.5019, 241.1279, 242.12505, 250.9698, 254.0778,
264.1788, 274.5387, 284.8987, 292.6687, 303.0286, 310.7986, 326.3385,
336.6985, 344.4684, 362.5983, 378.1383, 389.275200000003, 393.6782,
409.2181, 427.348, 450.6579, 450.6579, 450.6579, 453.2479, 463.6079,
476.5578, 489.5078, 499.8677, 510.2277, 523.1776, 533.5376, 543.8975,
567.2074, 611.2372, 613.8272, 621.5971, 637.1371, 652.677, 660.447,
668.2169, 678.5769, 696.447800000002, 714.8367, 744.880600000001,
764.0465, 766.6365, 779.5864, 784.7664, 810.6663, 815.8463, 839.1561,
852.1061, 872.826, 896.1359, 903.9059, 916.8558, 937.5757, 966.0656,
984.1955), q01 = c(0.07287449, 0.0573897264, 0.0557969357, 0.0537193707,
0.0518303892, 0.0518080158, 0.0514479006, 0.0517025388, 0.0516258276,
0.0459982978, 0.0471084591, 0.0402322638, 0.0406957203, 0.0373694866919881,
0.0375932247971234, 0.0378606448, 0.0374813557445557, 0.036479866,
0.0368506252, 0.0362731762, 0.0367099924, 0.0329852952, 0.0280992996,
0.0278553199, 0.0277327966, 0.0279245722, 0.0279458806, 0.0277967218,
0.0279831703, 0.0237609194, 0.0207585756691242, 0.0207543139705945,
0.0196036650330279, 0.0188940975085873, 0.0186277436, 0.0167249092,
0.0167046666, 0.0166865548, 0.0161687604, 0.0161591718, 0.0161879376,
0.011199656, 0.0111985905, 0.01105689088, 0.0110845916, 0.0106222032239633,
0.0109610059070531, 0.0109652675220967, 0.0109769869296186, 0.01043682232,
0.00988280416, 0.00995951416, 0.0109119973340507, 0.0099936076,
0.00955359025, 0.00895376068, 0.00836565071, 0.00829852949, 0.00825058604,
0.00660771382, 0.00658320918, 0.00658320918, 0.00647347103215001,
0.00720008536, 0.00722565544, 0.00697102063, 0.00688152578, 0.00688898372,
0.00692733882, 0.00618580850401875, 0.0061218835, 0.0061090985,
0.00609311725, 0.00584274444, 0.00583954821, 0.00575325, 0.00575325,
0.0050873645, 0.00522693399, 0.00516087826, 0.00496803746, 0.00490198142,
0.00490198142, 0.00490198142, 0.0057798848, 0.00555082036, 0.00518857905,
0.00508949534, 0.0050127851, 0.0049701683, 0.0049275515, 0.00487428075,
0.00479011332, 0.00476347782, 0.0047783937, 0.00476880492, 0.00487747698,
0.00485510337, 0.0048582996, 0.00479330958), q10 = c(0.492542083954826,
0.45454932, 0.43124864, 0.41944381, 0.37937352, 0.38026848, 0.37053055,
0.37472832, 0.35278072, 0.34281907, 0.34762414, 0.28118472, 0.28004471,
0.272746634508843, 0.24855102, 0.25194972, 0.242531451945451,
0.2256552, 0.206232684634562, 0.19673984, 0.20522054, 0.18095038,
0.170956713240997, 0.16841043, 0.163157896833582, 0.16456426,
0.16100576, 0.15623268, 0.15471976, 0.15003198, 0.143000209281909,
0.1429789, 0.14078417, 0.13547836, 0.13492432, 0.13260178, 0.12952273,
0.1337311, 0.1273386, 0.123471123238866, 0.12135096, 0.10445342,
0.10836355, 0.10458128, 0.10262094, 0.10075645, 0.10061794, 0.099659066,
0.099925431, 0.0973364588484978, 0.0949499261725975, 0.0949499261725975,
0.1001705, 0.09823141, 0.091689753, 0.0820796952618794, 0.080683995,
0.079256336, 0.078052418, 0.0678883475337737, 0.067302367, 0.0675474110377157,
0.065970594, 0.068889834, 0.069379928, 0.06499041, 0.0639143363015129,
0.0628169628570211, 0.061410608, 0.0606541642970382, 0.0605369686562966,
0.06094183, 0.0605476229844449, 0.0566162367773279, 0.056371194,
0.054080544, 0.0546025993937779, 0.051779245, 0.052375877, 0.051907098,
0.050639252, 0.050308969, 0.050308969, 0.050308969, 0.053643725,
0.053505218, 0.0507671, 0.049691026, 0.04884935, 0.04810356,
0.04757085, 0.04687833, 0.045727678, 0.045503944, 0.04687833,
0.046729174, 0.051971022, 0.050308975, 0.0498615, 0.048039636
), q25 = c(0.6404219, 0.6244939, 0.605822475, 0.602040281120818,
0.5927978, 0.588349675, 0.579639875, 0.5777754, 0.5689325, 0.55953015,
0.5641647, 0.53696995, 0.53358725, 0.518511625, 0.509855075,
0.5100149, 0.4870019, 0.477573, 0.46324315, 0.45551885, 0.4599403,
0.4263797, 0.414766675, 0.403526531046239, 0.39313875, 0.385361200596633,
0.3733752, 0.364585555646708, 0.358486025, 0.34375665, 0.321915594917963,
0.3211166, 0.317574060052206, 0.299701695823567, 0.2932026, 0.28931385,
0.27794055, 0.28041765, 0.2627317, 0.252370517653953, 0.248348618836565,
0.2258683, 0.2306094, 0.22400385, 0.2216066, 0.21785105, 0.214521628563819,
0.2121244, 0.210153425, 0.2043469, 0.2011506, 0.2003516, 0.207196875,
0.206317924738973, 0.200431525, 0.189537609205199, 0.187220325,
0.181600263653314, 0.179948860004262, 0.1733433, 0.1733433, 0.170413425,
0.1667377, 0.16812275, 0.16993395, 0.1648199, 0.16276905, 0.15768165,
0.15347325, 0.150916225, 0.14910505, 0.14990415, 0.1474537, 0.1441509,
0.142712575, 0.138690575, 0.14098125, 0.135813975, 0.137385475,
0.14217985, 0.139969074168975, 0.139516275, 0.139516275, 0.139516275,
0.143751322267206, 0.1424995, 0.140688225, 0.1389303, 0.136639675,
0.134801865933305, 0.137785025, 0.135813975, 0.132537822288515,
0.128356075, 0.129900875, 0.1293416, 0.14106115, 0.137598575,
0.1421266, 0.1387705), q50 = c(0.7691242, 0.7631579, 0.75559345,
0.751917760334541, 0.7506925, 0.746484148060942, 0.7420094, 0.7371617,
0.7325804, 0.72565525, 0.72682715, 0.7165992, 0.7147347, 0.702002962412103,
0.69640955, 0.6950778, 0.6869806, 0.6838909, 0.6740358, 0.6714255,
0.6721713, 0.6567228, 0.64947795, 0.63834435, 0.6361602, 0.6261453,
0.613253782228852, 0.603665, 0.593756671084594, 0.579267, 0.5622203,
0.5610484, 0.5582783, 0.5308971, 0.5144897, 0.5100149, 0.49355425,
0.4915832, 0.4779459, 0.4607394, 0.4513105, 0.424462, 0.42510125,
0.4174302, 0.4121031, 0.40336673736416, 0.3968677, 0.3919668,
0.39036865, 0.3808864, 0.373961218836565, 0.3727893, 0.38408265,
0.3834434, 0.37646495, 0.3681014, 0.3637332, 0.3615491, 0.3576603,
0.3552099, 0.35398465, 0.34775195, 0.3416791, 0.3381632, 0.3388025,
0.33187725, 0.33059875, 0.3258044, 0.3180268, 0.3064138, 0.3049222,
0.3091839, 0.3065736, 0.2999148, 0.29900915, 0.2925634, 0.3009802,
0.2956531, 0.29698485, 0.3044961, 0.30412315, 0.3014596, 0.3014596,
0.3014596, 0.3147773, 0.3135521, 0.3128596, 0.30998295, 0.3091306,
0.3039633, 0.30907735, 0.303856783177072, 0.2949073, 0.28595785,
0.285371829778393, 0.2846793, 0.2958662, 0.29607925, 0.3035372,
0.30359045), q75 = c(0.8668229, 0.8637865, 0.86104305, 0.858752425,
0.8584061, 0.8549169, 0.852066925, 0.8492436, 0.8462604, 0.843783275,
0.843410426177285, 0.838909, 0.838349675, 0.833795025, 0.831530975,
0.8301726, 0.8252717, 0.8239399, 0.820557211213509, 0.81797355,
0.8167483, 0.8088643, 0.80244515, 0.7948274, 0.7947475, 0.787183054698487,
0.7810036, 0.77716815, 0.769097575, 0.7540486, 0.74861495, 0.7479224,
0.746617297091413, 0.7200618, 0.704879607926699, 0.702588945727679,
0.690203494363946, 0.68458345, 0.6740891, 0.658480725, 0.6435649,
0.630833155763904, 0.626811225, 0.62129765, 0.6129342, 0.60827295,
0.60275945, 0.593117408906883, 0.59125295, 0.58507352145749,
0.5743661, 0.5681334, 0.5741264, 0.575431476028127, 0.573353929725122,
0.5659493, 0.560702075, 0.556706775, 0.5519923, 0.54645215, 0.53976665,
0.53526525, 0.5334541, 0.5324419, 0.52743445, 0.519204135014916,
0.519017675, 0.517899, 0.50905605, 0.495258875, 0.5004794, 0.50298315,
0.491023875559344, 0.4816748, 0.485164082175581, 0.479171075,
0.48889305, 0.482500525, 0.485696775, 0.4886533, 0.4919028, 0.490890725,
0.490890725, 0.490890725, 0.506552325, 0.50649905, 0.504741075,
0.49978695, 0.502477093543576, 0.492915025, 0.49629765, 0.4903047,
0.4775197, 0.4731249, 0.464175375, 0.4632431, 0.46942255, 0.472725375,
0.4760281, 0.474536573433838), q90 = c(0.9314937, 0.93079054,
0.92979966, 0.928574429757085, 0.92748774, 0.92662476, 0.92585765,
0.9235457, 0.92188366, 0.92058388, 0.91802683, 0.91566162, 0.91534197,
0.9129022, 0.91192198, 0.91067548, 0.907671, 0.9073088, 0.90595568,
0.904773066349883, 0.9035372, 0.897741346746218, 0.89466225,
0.889740052584701, 0.88860004, 0.88158958, 0.88022584, 0.878883448075858,
0.86893244, 0.863030027896868, 0.86177288, 0.8616024, 0.859290453515875,
0.8365012, 0.82799918, 0.824568514587684, 0.819273379833795,
0.81630088, 0.81448968, 0.79439591, 0.78960152, 0.783315567773279,
0.776464946030258, 0.776731300370765, 0.76594926, 0.75919456,
0.75371832, 0.75075644, 0.74735775, 0.74310678, 0.72495204, 0.7112508,
0.713807792386533, 0.7141487, 0.71468144, 0.713530774319199,
0.71050504, 0.707809474097592, 0.70632856, 0.70217348, 0.69276586,
0.68746007, 0.68621354, 0.68354994, 0.67928834, 0.66894312, 0.66838907,
0.66891114, 0.66275304248029, 0.65147025, 0.655188582416365,
0.65889626, 0.64831662, 0.640571045322821, 0.64626035, 0.64103984,
0.637385467717878, 0.63600045, 0.639899844314937, 0.638908996019603,
0.64134882, 0.64137014, 0.64137014, 0.64137014, 0.6497443, 0.64977628,
0.64734715, 0.64238229, 0.6446303, 0.634775211037716, 0.635307911037716,
0.631685502855317, 0.62823354, 0.62139354, 0.61645005, 0.61583208,
0.61267846, 0.61427655, 0.6135734, 0.61338161), q99 = c(0.9813552,
0.983496688, 0.982289538, 0.981875103, 0.98133816, 0.981210342,
0.980869382, 0.98074156, 0.980605188, 0.980628629, 0.980474118,
0.97956530234349, 0.979405495101854, 0.979192435, 0.979102933,
0.97900704, 0.978866424, 0.97889414, 0.978801398, 0.978465764,
0.978167456, 0.97708924, 0.977054095, 0.977258668, 0.975373952,
0.972782846, 0.972770058, 0.972859574, 0.972306655, 0.97231411,
0.972591068, 0.97259746, 0.972355645, 0.962840406286384, 0.963136582842531,
0.943974016, 0.944772016962071, 0.944242504, 0.944018764, 0.935328143137652,
0.935241848623481, 0.934724015665886, 0.926759001178564, 0.926816535265289,
0.926234804, 0.917745605, 0.91511187081824, 0.915103346793096,
0.913937796999999, 0.90959943, 0.903311344, 0.894027274664394,
0.895148090432559, 0.897357759215854, 0.897743441, 0.894050713829107,
0.893945237587897, 0.889042197096101, 0.889281912489239, 0.888979338,
0.886543834, 0.886235893490944, 0.886239091206478, 0.886258277499681,
0.868235644, 0.868526506, 0.870900274999999, 0.871323255148946,
0.869995737948434, 0.867188371, 0.864700617419987, 0.864726187301939,
0.856755777, 0.844385296, 0.855691437, 0.83904428249137, 0.832750945,
0.837923525, 0.856581078, 0.855506063483912, 0.855462386340294,
0.838475343, 0.838475343, 0.838475343, 0.855438949824206, 0.855484757560196,
0.855492214633497, 0.855447472193693, 0.855524173519071, 0.85631259,
0.859764525, 0.861629, 0.865305772, 0.861820776, 0.861149560000001,
0.861581055999999, 0.861485167999999, 0.858912205, 0.86234816,
0.860478344)), .Names = c("xvars", "q01", "q10", "q25", "q50",
"q75", "q90", "q99"), row.names = c(NA, -100L), class = "data.frame")

最佳答案

您应该尝试 directlabels 包。这是一个例子:

library(tidyverse)
library(directlabels)
df.quants %>%
gather(var,val,-1) %>%
ggplot(aes(xvars,val,fill=var)) +
geom_area(position="identity", alpha = .5) +
geom_line() +
scale_fill_grey(guide="none") +
geom_dl(aes(label=var), method="last.points")

enter image description here

请务必浏览其文档,因为还有更多选项。


您可以扩展该方法以使用自定义标签、线宽、填充等。一种方法可能是:

labs <- setNames(c("G", "F", "E", "D", "C", "B", "A"), c("q99", "q90", "q75", "q50", "q25", "q10", "q01"))
df.quants %>%
rev %>%
gather(var,val,-xvars,factor_key=TRUE) %>%
ggplot(aes(xvars,val,fill=var)) +
geom_area(position="identity") +
geom_line(aes(size=var)) +
scale_fill_manual(values = c(grey.colors(3,.9,.3), grey.colors(4)), guide="none") +
scale_size_manual(values = c(1:3,4:1), guide="none") +
geom_dl(aes(label=labs[var]), method="last.points")

enter image description here

关于r - 如何在几何线上添加标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41752157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com