@@ -781,27 +781,39 @@ verify_guides <- function(p) {
781
781
}
782
782
783
783
isVisibleBar <- function (tr ) {
784
- is.colorbar(tr ) && isTRUE (tr $ showscale %|| % TRUE )
784
+ is.colorbar(tr ) && (tr $ showscale %|| % TRUE )
785
785
}
786
786
isBar <- vapply(p $ x $ data , isVisibleBar , logical (1 ))
787
787
nGuides <- sum(isBar ) + has_legend(p )
788
788
789
789
if (nGuides > 1 ) {
790
790
791
791
# place legend at bottom since its scrolly
792
- p $ x $ layout $ legend <- modify_list(
793
- list ( y = 1 - ((nGuides - 1 ) / nGuides ), yanchor = " top " ),
794
- p $ x $ layout $ legend
795
- )
792
+ yanchor <- default( " top " )
793
+ y <- default( 1 - ((nGuides - 1 ) / nGuides ))
794
+ p $ x $ layout $ legend $ yanchor <- p $ x $ layout $ legend $ yanchor % | D | % yanchor
795
+ p $ x $ layout $ legend $ y <- p $ x $ layout $ legend [[ " y " ]] % | D | % y
796
796
797
+ # shrink/position colorbars
797
798
idx <- which(isBar )
798
799
for (i in seq_along(idx )) {
800
+ len <- default(1 / nGuides )
801
+ lenmode <- default(" fraction" )
802
+ y <- default(1 - ((i - 1 ) / nGuides ))
803
+
799
804
j <- idx [[i ]]
800
- bar <- p $ x $ data [[j ]]$ marker $ colorbar
801
- p $ x $ data [[j ]]$ marker $ colorbar $ len <- bar $ len %|| % (1 / nGuides )
802
- p $ x $ data [[j ]]$ marker $ colorbar $ lenmode <- bar $ lenmode %|| % " fraction"
803
- p $ x $ data [[j ]]$ marker $ colorbar $ y <- bar $ y %|| % (1 - ((i - 1 ) / nGuides ))
804
- p $ x $ data [[j ]]$ marker $ colorbar $ yanchor <- bar $ yanchor %|| % " top"
805
+ tr <- p $ x $ data [[j ]]
806
+ if (inherits(tr , " zcolor" )) {
807
+ p $ x $ data [[j ]]$ colorbar $ len <- tr $ colorbar $ len %| D | % len
808
+ p $ x $ data [[j ]]$ colorbar $ lenmode <- tr $ colorbar $ lenmode %| D | % " fraction"
809
+ p $ x $ data [[j ]]$ colorbar $ y <- tr $ colorbar $ y %| D | % y
810
+ p $ x $ data [[j ]]$ colorbar $ yanchor <- tr $ colorbar $ yanchor %| D | % yanchor
811
+ } else {
812
+ p $ x $ data [[j ]]$ marker $ colorbar $ len <- tr $ marker $ colorbar $ len %| D | % len
813
+ p $ x $ data [[j ]]$ marker $ colorbar $ lenmode <- tr $ marker $ colorbar $ lenmode %| D | % " fraction"
814
+ p $ x $ data [[j ]]$ marker $ colorbar $ y <- tr $ marker $ colorbar $ y %| D | % y
815
+ p $ x $ data [[j ]]$ marker $ colorbar $ yanchor <- tr $ marker $ colorbar $ yanchor %| D | % yanchor
816
+ }
805
817
}
806
818
807
819
}
0 commit comments