<div dir="ltr">Senhores,<div><br></div><div>Estou tentando fazer um gráfico usando a segplot()... até aí tudo perfeito!</div><div><br></div><div>Entretanto gostaria de "hachurar" uma área do background do gráfico e tentei de várias formas, mas não consegui! O problema reside é que cada painel terá uma área diferente para hachurar. Procurei e achei as funções panel.xblocks() e pane.rect(). Acho que o caminho é por aí!</div>
<div><br></div><div>Gostaria da ajuda de vocês para tentar implementar isso... segue o CMR:</div><div><br></div><div><div><br></div><div>dados <- dput(dados)</div><div><div>structure(list(fator = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, </div>
<div>1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, </div><div>2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, </div><div>2L), .Label = c("a", "b"), class = "factor"), tratamento = c(1L, </div>
<div>2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, </div><div>16L, 17L, 18L, 19L, 20L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, </div><div>10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L), media = c(56.7273408697765, </div>
<div>21.6789539145706, 48.9147297325716, 16.128713312085, 72.2770042662147, </div><div>76.4078177803679, 50.9077623429051, 73.4185754594888, 6.10335920092642, </div><div>55.0889792680129, 73.2888965805648, 42.4138621293343, 61.1580652843309, </div>
<div>60.6674652959473, 61.985833396912, 59.1674199053476, 64.5810153586145, </div><div>49.9847839597647, 43.5403475266414, 73.2055926430283, 78.0443736554009, </div><div>29.0590364242541, 67.0013026876617, 21.7957799074036, 94.6993295797361, </div>
<div>97.3586875521169, 70.5384358034064, 84.0236784048615, 6.13251698933115, </div><div>72.2706008690223, 95.925565877041, 56.3692012642583, 79.8817867665571, </div><div>78.7296774114649, 78.3993769394509, 76.0775293205963, 80.0321741107855, </div>
<div>66.4321920049995, 54.1984087410355, 98.1778312021352), inferior = c(43.1836043224278, </div><div>17.1528746401404, 37.1996905806528, 12.9475504916982, 46.7714226580457, </div><div>45.3692479773409, 39.7789554679844, 29.8329460853507, 2.56413580548224, </div>
<div>35.8089238584928, 47.4171926197379, 29.7410223171652, 39.6810438781391, </div><div>38.6961342195907, 37.1835630240529, 37.067425724059, 35.4724912266013, </div><div>35.2427573484592, 25.0802453164008, 51.397401326238, 67.626248555891, </div>
<div>18.7695537973605, 56.7158673051006, 14.4447744494442, 85.018794282225, </div><div>86.9126759092797, 60.2303195514873, 71.7768506217856, 0.319225404377661, </div><div>64.8335865483444, 85.7060969685811, 47.3588023848516, 70.3807330972353, </div>
<div>68.9839724287896, 65.9920666691623, 65.2925804505429, 69.4612476374327, </div><div>55.1810503876307, 44.5545294532709, 86.576660755252), superior = c(62.3108540885626, </div><div>23.8615642963601, 53.7260587383325, 17.774181934749, 79.7146304606838, </div>
<div>84.9807494296331, 55.9924261554983, 86.5989631071634, 7.15646923884448, </div><div>60.7368137544209, 80.8316127544867, 46.572404145686, 67.4355492078165, </div><div>66.989163863718, 68.859173168856, 65.4348577926561, 72.5430140364942, </div>
<div>54.8771182917571, 48.6009761134763, 80.3851368007263, 87.1231257331536, </div><div>38.7305442725622, 76.1037592450441, 28.7278361811028, 102.689316368094, </div><div>106.025905852459, 79.6868529319033, 94.2065097903592, 11.6427132483976, </div>
<div>78.4162162468943, 104.39108823494, 64.3280982909318, 87.9131833084866, </div><div>86.9760720156632, 89.0620270643251, 85.2808640058557, 88.7701994563184, </div><div>76.4111720930247, 62.5587781906989, 107.948178577293)), .Names = c("fator", </div>
<div>"tratamento", "media", "inferior", "superior"), row.names = c(NA, </div><div>-40L), class = "data.frame")</div></div><div><br></div><div>segplot(reorder(tratamento, media) ~ inferior + superior | fator,</div>
<div>        data = dados,</div><div>        centers = media,</div><div>        draw.bands = FALSE,</div><div>        segments.fun = panel.arrows,</div><div>        ends = 'both',</div><div>        angle = 90,</div>
<div>        length = 1,</div><div>        unit = 'mm',</div><div>        panel = function(x, y, z, centers, subscripts, ...) {</div><div>          panel.segplot(x, y, z, centers = centers, subscripts = subscripts, ...)</div>
<div>        })</div></div><div><br></div><div>Minha intenção é que o backgrund de cada painel tenha uma área preenchida de vermelho, por exemplo, mas cada intervalo é diferente por painel... acho que a única forma é informar essas áreas externamente, com outr data.frame, seja por exemplo:</div>
<div><br></div><div><div>dadosAUX <- dput(dadosAUX)</div><div>structure(list(fator = structure(1:2, .Label = c("a", "b"), class = "factor"), </div><div>    xleft = c(30, 50), xright = c(60, 80)), .Names = c("fator", </div>
<div>"xleft", "xright"), row.names = c(NA, -2L), class = "data.frame")</div></div><div><br></div><div>Assim... em cada painel, preciso que essa área seja preenchida por toda extensão do eixo Y.</div>
<div><br></div><div>Qualquer ajuda é bem vinda.</div><div><br></div><div>Obrigado a todos!</div><div><br></div><div>Boa semana e que venha Dezembro!</div><div><br></div><div>att,</div><div>FH</div></div>