@@ -40,8 +40,8 @@ print.gsplot <- function(x, ...){
4040 plot.new()
4141 }
4242
43- i <- which(names(views ) %in% ' axis' )
44- definded .sides <- sapply(i , function (x ) views [[x ]][[' arguments' ]][[' side' ]])
43+ i.axis <- which(names(views ) %in% ' axis' )
44+ defined .sides <- sapply(i.axis , function (x ) views [[x ]][[' arguments' ]][[' side' ]])
4545
4646 bg.arg <- views $ bgCol
4747 title.arg <- views $ title
@@ -68,24 +68,34 @@ print.gsplot <- function(x, ...){
6868
6969 # -- call functions --
7070
71- if ((sum(view.info $ x.side.defined.by.user [i ], view.info $ y.side.defined.by.user [i ])== 0 ) &
72- (class(window $ xlim ) == " numeric" & class(window $ ylim ) == " numeric" ) |
73- ! (any(names(plots ) %in% ' grid' ))){
71+ # if((sum(view.info$x.side.defined.by.user[i], view.info$y.side.defined.by.user[i])== 0 ) &
72+ # (class(window$xlim) == "numeric" & class(window$ylim) == "numeric") |
73+ if ( ! (any(names(plots ) %in% ' grid' ))){
7474 to_gsplot(lapply(plots , function (x ) x [! names(x ) %in% ' legend.name' ]))
7575 } else {
7676 draw_custom_grid(views ,i )
7777 plots <- plots [! (names(plots ) %in% ' grid' )]
7878 to_gsplot(lapply(plots , function (x ) x [! (names(x ) %in% c(' legend.name' ))]))
7979 }
8080
81- if (window $ axes ){
82- if (! view.info $ x.side.defined.by.user [i ]){
81+
82+ if (! view.info $ x.side.defined.by.user [i ]){
83+ if (window $ axes ){
8384 Axis(side = view.info $ x [i ],x = window $ xlim )
8485 }
85- if (! view.info $ y.side.defined.by.user [i ]){
86+ } else {
87+ x.axis <- i.axis [which(defined.sides == view.info $ x [i ])]
88+ draw_axis(views , index.axis = x.axis )
89+ }
90+
91+ if (! view.info $ y.side.defined.by.user [i ]){
92+ if (window $ axes ){
8693 Axis(side = view.info $ y [i ],x = window $ ylim )
87- }
88- }
94+ }
95+ } else {
96+ y.axis <- i.axis [which(defined.sides == view.info $ y [i ])]
97+ draw_axis(views , index.axis = y.axis )
98+ }
8999
90100 if (window $ ann ){
91101 mtext(text = window $ xlab , side = window $ side [1 ], line = 2 , las = config(" mtext" )$ las )
@@ -95,7 +105,8 @@ print.gsplot <- function(x, ...){
95105 par(new = TRUE )
96106 }
97107
98- draw_axis(views )
108+ i.axis.noview <- i.axis [which(! defined.sides %in% c(view.info $ x , view.info $ y ))]
109+ draw_axis(views , index.axis = i.axis.noview )
99110
100111 if (window $ frame.plot ){
101112 box()
0 commit comments