Skip to content

Commit 54aaf58

Browse files
committed
Merge pull request #296 from lindsaycarr/master
addressing draw_axis
2 parents 1536460 + 2825161 commit 54aaf58

File tree

3 files changed

+37
-19
lines changed

3 files changed

+37
-19
lines changed

R/axis.R

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,9 @@ axis.gsplot <- function(object, ..., n.minor=0, tcl.minor=0.15, reverse=NULL) {
8787

8888
}
8989

90-
draw_axis <- function(gsplot) {
90+
draw_axis <- function(gsplot, index.axis) {
9191

92-
draw_axis_execute <- function(axisParams,n.minor){
93-
axisParams <- gsplot[[index]][['arguments']]
94-
n.minor <- gsplot[[index]][['gs.config']]$n.minor
92+
draw_axis_execute <- function(axisParams, n.minor, index){
9593

9694
if(n.minor == 0){
9795
axis(axisParams)
@@ -127,10 +125,18 @@ draw_axis <- function(gsplot) {
127125
}
128126
}
129127

130-
for(index in which(names(gsplot) %in% "axis")){
131-
axisParams <- gsplot[[index]][['arguments']]
132-
n.minor <- gsplot[[index]][['gs.config']]$n.minor
133-
draw_axis_execute(axisParams, n.minor)
128+
if(length(index.axis) == 1){
129+
axisParams <- gsplot[[index.axis]][['arguments']]
130+
n.minor <- gsplot[[index.axis]][['gs.config']]$n.minor
131+
draw_axis_execute(axisParams, n.minor, index.axis)
132+
} else {
133+
134+
for(i in index.axis){
135+
axisParams <- gsplot[[i]][['arguments']]
136+
n.minor <- gsplot[[i]][['gs.config']]$n.minor
137+
draw_axis_execute(axisParams, n.minor, i)
138+
}
139+
134140
}
135141

136142
}

R/print.R

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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()

inst/extdata/default.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ axis:
2222
line: NULL
2323
pos: NULL
2424
outer: FALSE
25+
las: 1
2526
title: NULL
2627
text: NULL
2728
mtext:

0 commit comments

Comments
 (0)