These functions are helper functions for working with segment data as keys in guides. They all share the goal of creating a guide key, but have different methods:
key_segment_manual()
directly uses user-provided vectors to set segments.key_segment_map()
makes mappings from a<data.frame>
to set segments.key_dendro()
is a specialty case for coercing dendrogram data to segments. Be aware that setting the key alone cannot affect the scale limits, and will give misleading results when used incorrectly!
Usage
key_segment_manual(value, oppo, value_end = value, oppo_end = oppo, ...)
key_segment_map(data, ..., .call = caller_env())
key_dendro(dendro = NULL, type = "rectangle")
Arguments
- value, value_end
A vector that is interpreted to be along the scale that the guide codifies.
- oppo, oppo_end
A vector that is interpreted to be orthogonal to the
value
andvalue_end
variables.- ...
<data-masking>
A set of mappings similar to those provided toaes()
, which will be evaluated in thedata
argument. Forkey_segments_map()
, these must containvalue
andoppo
mappings.- data
A
<data.frame>
or similar object coerced byfortify()
to a<data.frame>
, in which themapping
argument is evaluated.- .call
A call to display in messages.
- dendro
A data structure that can be coerced to a dendrogram through the
as.dendrogram()
function. WhenNULL
(default) an attempt is made to search for such data in the scale.- type
A string, either
"rectangle"
or"triangle"
, indicating the shape of edges between nodes of the dendrogram.
See also
Other keys:
key_group
,
key_range
,
key_specialty
,
key_standard
Examples
# Giving vectors directly
key_segment_manual(
value = 0:1, value_end = 2:3,
oppo = 1:0, oppo_end = 3:2
)
#> value oppo value_end oppo_end
#> 1 0 1 2 3
#> 2 1 0 3 2
# Taking columns of a data frame
data <- data.frame(x = 0:1, y = 1:0, xend = 2:3, yend = 3:2)
key_segment_map(data, value = x, oppo = y, value_end = xend, oppo_end = yend)
#> value oppo value_end oppo_end
#> 1 0 1 2 3
#> 2 1 0 3 2
# Using dendrogram data
clust <- hclust(dist(USArrests), "ave")
key_dendro(clust)(scale_x_discrete())
#> value oppo value_end oppo_end
#> 1 17.994141 152.313999 4.765625 152.313999
#> 2 4.765625 152.313999 4.765625 77.605024
#> 3 17.994141 152.313999 31.222656 152.313999
#> 4 31.222656 152.313999 31.222656 89.232093
#> 5 4.765625 77.605024 1.500000 77.605024
#> 6 1.500000 77.605024 1.500000 38.527912
#> 7 4.765625 77.605024 8.031250 77.605024
#> 8 8.031250 77.605024 8.031250 44.283922
#> 9 1.500000 38.527912 1.000000 38.527912
#> 10 1.000000 38.527912 1.000000 0.000000
#> 11 1.500000 38.527912 2.000000 38.527912
#> 12 2.000000 38.527912 2.000000 0.000000
#> 13 8.031250 44.283922 3.875000 44.283922
#> 14 3.875000 44.283922 3.875000 28.012211
#> 15 8.031250 44.283922 12.187500 44.283922
#> 16 12.187500 44.283922 12.187500 39.394633
#> 17 3.875000 28.012211 3.000000 28.012211
#> 18 3.000000 28.012211 3.000000 0.000000
#> 19 3.875000 28.012211 4.750000 28.012211
#> 20 4.750000 28.012211 4.750000 15.453120
#> 21 4.750000 15.453120 4.000000 15.453120
#> 22 4.000000 15.453120 4.000000 0.000000
#> 23 4.750000 15.453120 5.500000 15.453120
#> 24 5.500000 15.453120 5.500000 13.896043
#> 25 5.500000 13.896043 5.000000 13.896043
#> 26 5.000000 13.896043 5.000000 0.000000
#> 27 5.500000 13.896043 6.000000 13.896043
#> 28 6.000000 13.896043 6.000000 0.000000
#> 29 12.187500 39.394633 9.625000 39.394633
#> 30 9.625000 39.394633 9.625000 26.363428
#> 31 12.187500 39.394633 14.750000 39.394633
#> 32 14.750000 39.394633 14.750000 28.095803
#> 33 9.625000 26.363428 7.750000 26.363428
#> 34 7.750000 26.363428 7.750000 16.891499
#> 35 9.625000 26.363428 11.500000 26.363428
#> 36 11.500000 26.363428 11.500000 18.417331
#> 37 7.750000 16.891499 7.000000 16.891499
#> 38 7.000000 16.891499 7.000000 0.000000
#> 39 7.750000 16.891499 8.500000 16.891499
#> 40 8.500000 16.891499 8.500000 15.454449
#> 41 8.500000 15.454449 8.000000 15.454449
#> 42 8.000000 15.454449 8.000000 0.000000
#> 43 8.500000 15.454449 9.000000 15.454449
#> 44 9.000000 15.454449 9.000000 0.000000
#> 45 11.500000 18.417331 10.500000 18.417331
#> 46 10.500000 18.417331 10.500000 6.236986
#> 47 11.500000 18.417331 12.500000 18.417331
#> 48 12.500000 18.417331 12.500000 13.297368
#> 49 10.500000 6.236986 10.000000 6.236986
#> 50 10.000000 6.236986 10.000000 0.000000
#> 51 10.500000 6.236986 11.000000 6.236986
#> 52 11.000000 6.236986 11.000000 0.000000
#> 53 12.500000 13.297368 12.000000 13.297368
#> 54 12.000000 13.297368 12.000000 0.000000
#> 55 12.500000 13.297368 13.000000 13.297368
#> 56 13.000000 13.297368 13.000000 0.000000
#> 57 14.750000 28.095803 14.000000 28.095803
#> 58 14.000000 28.095803 14.000000 0.000000
#> 59 14.750000 28.095803 15.500000 28.095803
#> 60 15.500000 28.095803 15.500000 21.167192
#> 61 15.500000 21.167192 15.000000 21.167192
#> 62 15.000000 21.167192 15.000000 0.000000
#> 63 15.500000 21.167192 16.000000 21.167192
#> 64 16.000000 21.167192 16.000000 0.000000
#> 65 31.222656 89.232093 23.796875 89.232093
#> 66 23.796875 89.232093 23.796875 44.837933
#> 67 31.222656 89.232093 38.648438 89.232093
#> 68 38.648438 89.232093 38.648438 54.746831
#> 69 23.796875 44.837933 20.343750 44.837933
#> 70 20.343750 44.837933 20.343750 26.713777
#> 71 23.796875 44.837933 27.250000 44.837933
#> 72 27.250000 44.837933 27.250000 29.054195
#> 73 20.343750 26.713777 17.937500 26.713777
#> 74 17.937500 26.713777 17.937500 16.425489
#> 75 20.343750 26.713777 22.750000 26.713777
#> 76 22.750000 26.713777 22.750000 22.595978
#> 77 17.937500 16.425489 17.000000 16.425489
#> 78 17.000000 16.425489 17.000000 0.000000
#> 79 17.937500 16.425489 18.875000 16.425489
#> 80 18.875000 16.425489 18.875000 12.878100
#> 81 18.875000 12.878100 18.000000 12.878100
#> 82 18.000000 12.878100 18.000000 0.000000
#> 83 18.875000 12.878100 19.750000 12.878100
#> 84 19.750000 12.878100 19.750000 10.736739
#> 85 19.750000 10.736739 19.000000 10.736739
#> 86 19.000000 10.736739 19.000000 0.000000
#> 87 19.750000 10.736739 20.500000 10.736739
#> 88 20.500000 10.736739 20.500000 7.355270
#> 89 20.500000 7.355270 20.000000 7.355270
#> 90 20.000000 7.355270 20.000000 0.000000
#> 91 20.500000 7.355270 21.000000 7.355270
#> 92 21.000000 7.355270 21.000000 0.000000
#> 93 22.750000 22.595978 22.000000 22.595978
#> 94 22.000000 22.595978 22.000000 0.000000
#> 95 22.750000 22.595978 23.500000 22.595978
#> 96 23.500000 22.595978 23.500000 11.456439
#> 97 23.500000 11.456439 23.000000 11.456439
#> 98 23.000000 11.456439 23.000000 0.000000
#> 99 23.500000 11.456439 24.000000 11.456439
#> 100 24.000000 11.456439 24.000000 0.000000
#> 101 27.250000 29.054195 25.750000 29.054195
#> 102 25.750000 29.054195 25.750000 20.198479
#> 103 27.250000 29.054195 28.750000 29.054195
#> 104 28.750000 29.054195 28.750000 23.972143
#> 105 25.750000 20.198479 25.000000 20.198479
#> 106 25.000000 20.198479 25.000000 0.000000
#> 107 25.750000 20.198479 26.500000 20.198479
#> 108 26.500000 20.198479 26.500000 12.614278
#> 109 26.500000 12.614278 26.000000 12.614278
#> 110 26.000000 12.614278 26.000000 0.000000
#> 111 26.500000 12.614278 27.000000 12.614278
#> 112 27.000000 12.614278 27.000000 0.000000
#> 113 28.750000 23.972143 28.000000 23.972143
#> 114 28.000000 23.972143 28.000000 0.000000
#> 115 28.750000 23.972143 29.500000 23.972143
#> 116 29.500000 23.972143 29.500000 14.501034
#> 117 29.500000 14.501034 29.000000 14.501034
#> 118 29.000000 14.501034 29.000000 0.000000
#> 119 29.500000 14.501034 30.000000 14.501034
#> 120 30.000000 14.501034 30.000000 0.000000
#> 121 38.648438 54.746831 34.437500 54.746831
#> 122 34.437500 54.746831 34.437500 20.598507
#> 123 38.648438 54.746831 42.859375 54.746831
#> 124 42.859375 54.746831 42.859375 41.094765
#> 125 34.437500 20.598507 31.875000 20.598507
#> 126 31.875000 20.598507 31.875000 15.026107
#> 127 34.437500 20.598507 37.000000 20.598507
#> 128 37.000000 20.598507 37.000000 15.122897
#> 129 31.875000 15.026107 31.000000 15.026107
#> 130 31.000000 15.026107 31.000000 0.000000
#> 131 31.875000 15.026107 32.750000 15.026107
#> 132 32.750000 15.026107 32.750000 12.438692
#> 133 32.750000 12.438692 32.000000 12.438692
#> 134 32.000000 12.438692 32.000000 0.000000
#> 135 32.750000 12.438692 33.500000 12.438692
#> 136 33.500000 12.438692 33.500000 3.834058
#> 137 33.500000 3.834058 33.000000 3.834058
#> 138 33.000000 3.834058 33.000000 0.000000
#> 139 33.500000 3.834058 34.000000 3.834058
#> 140 34.000000 3.834058 34.000000 0.000000
#> 141 37.000000 15.122897 35.500000 15.122897
#> 142 35.500000 15.122897 35.500000 6.637771
#> 143 37.000000 15.122897 38.500000 15.122897
#> 144 38.500000 15.122897 38.500000 13.352260
#> 145 35.500000 6.637771 35.000000 6.637771
#> 146 35.000000 6.637771 35.000000 0.000000
#> 147 35.500000 6.637771 36.000000 6.637771
#> 148 36.000000 6.637771 36.000000 0.000000
#> 149 38.500000 13.352260 37.500000 13.352260
#> 150 37.500000 13.352260 37.500000 3.929377
#> 151 38.500000 13.352260 39.500000 13.352260
#> 152 39.500000 13.352260 39.500000 8.027453
#> 153 37.500000 3.929377 37.000000 3.929377
#> 154 37.000000 3.929377 37.000000 0.000000
#> 155 37.500000 3.929377 38.000000 3.929377
#> 156 38.000000 3.929377 38.000000 0.000000
#> 157 39.500000 8.027453 39.000000 8.027453
#> 158 39.000000 8.027453 39.000000 0.000000
#> 159 39.500000 8.027453 40.000000 8.027453
#> 160 40.000000 8.027453 40.000000 0.000000
#> 161 42.859375 41.094765 41.000000 41.094765
#> 162 41.000000 41.094765 41.000000 0.000000
#> 163 42.859375 41.094765 44.718750 41.094765
#> 164 44.718750 41.094765 44.718750 33.117815
#> 165 44.718750 33.117815 42.750000 33.117815
#> 166 42.750000 33.117815 42.750000 10.771175
#> 167 44.718750 33.117815 46.687500 33.117815
#> 168 46.687500 33.117815 46.687500 27.779904
#> 169 42.750000 10.771175 42.000000 10.771175
#> 170 42.000000 10.771175 42.000000 0.000000
#> 171 42.750000 10.771175 43.500000 10.771175
#> 172 43.500000 10.771175 43.500000 8.537564
#> 173 43.500000 8.537564 43.000000 8.537564
#> 174 43.000000 8.537564 43.000000 0.000000
#> 175 43.500000 8.537564 44.000000 8.537564
#> 176 44.000000 8.537564 44.000000 0.000000
#> 177 46.687500 27.779904 45.500000 27.779904
#> 178 45.500000 27.779904 45.500000 13.044922
#> 179 46.687500 27.779904 47.875000 27.779904
#> 180 47.875000 27.779904 47.875000 18.993398
#> 181 45.500000 13.044922 45.000000 13.044922
#> 182 45.000000 13.044922 45.000000 0.000000
#> 183 45.500000 13.044922 46.000000 13.044922
#> 184 46.000000 13.044922 46.000000 0.000000
#> 185 47.875000 18.993398 47.000000 18.993398
#> 186 47.000000 18.993398 47.000000 0.000000
#> 187 47.875000 18.993398 48.750000 18.993398
#> 188 48.750000 18.993398 48.750000 10.184218
#> 189 48.750000 10.184218 48.000000 10.184218
#> 190 48.000000 10.184218 48.000000 0.000000
#> 191 48.750000 10.184218 49.500000 10.184218
#> 192 49.500000 10.184218 49.500000 2.291288
#> 193 49.500000 2.291288 49.000000 2.291288
#> 194 49.000000 2.291288 49.000000 0.000000
#> 195 49.500000 2.291288 50.000000 2.291288
#> 196 50.000000 2.291288 50.000000 0.000000