@@ -160,7 +160,7 @@ CoordPolar <- ggproto("CoordPolar", Coord,
160
160
transform = function (self , data , panel_params ) {
161
161
data <- rename_data(self , data )
162
162
163
- data $ r <- r_rescale(self , data $ r , panel_params )
163
+ data $ r <- r_rescale(self , data $ r , panel_params $ r.range )
164
164
data $ theta <- theta_rescale(self , data $ theta , panel_params )
165
165
data $ x <- data $ r * sin(data $ theta ) + 0.5
166
166
data $ y <- data $ r * cos(data $ theta ) + 0.5
@@ -171,10 +171,14 @@ CoordPolar <- ggproto("CoordPolar", Coord,
171
171
render_axis_v = function (self , panel_params , theme ) {
172
172
arrange <- panel_params $ r.arrange %|| % c(" primary" , " secondary" )
173
173
174
- x <- r_rescale(self , panel_params $ r.major , panel_params ) + 0.5
174
+ x <- r_rescale(self , panel_params $ r.major , panel_params $ r.range ) + 0.5
175
175
panel_params $ r.major <- x
176
176
if (! is.null(panel_params $ r.sec.major )) {
177
- panel_params $ r.sec.major <- x
177
+ panel_params $ r.sec.major <- r_rescale(
178
+ self ,
179
+ panel_params $ r.sec.major ,
180
+ panel_params $ r.sec.range
181
+ ) + 0.5
178
182
}
179
183
180
184
list (
@@ -199,7 +203,7 @@ CoordPolar <- ggproto("CoordPolar", Coord,
199
203
theta_rescale(self , panel_params $ theta.minor , panel_params )
200
204
thetafine <- seq(0 , 2 * pi , length.out = 100 )
201
205
202
- rfine <- c(r_rescale(self , panel_params $ r.major , panel_params ), 0.45 )
206
+ rfine <- c(r_rescale(self , panel_params $ r.major , panel_params $ r.range ), 0.45 )
203
207
204
208
# This gets the proper theme element for theta and r grid lines:
205
209
# panel.grid.major.x or .y
@@ -342,7 +346,7 @@ theta_rescale <- function(coord, x, panel_params) {
342
346
rotate(rescale(x , c(0 , 2 * pi ), panel_params $ theta.range ))
343
347
}
344
348
345
- r_rescale <- function (coord , x , panel_params ) {
346
- x <- squish_infinite(x , panel_params $ r. range )
347
- rescale(x , c(0 , 0.4 ), panel_params $ r. range )
349
+ r_rescale <- function (coord , x , range ) {
350
+ x <- squish_infinite(x , range )
351
+ rescale(x , c(0 , 0.4 ), range )
348
352
}
0 commit comments