roundedRect {berryFunctions} | R Documentation |

Draw rectangles with rounded corners via `polygon`

roundedRect( xleft, ybottom, xright, ytop, rounding = 0.25, bothsame = TRUE, aspcorrect = bothsame, devcorrect = bothsame, corfactor = 1.3, factorpoints = FALSE, corners = 1:4, npoints = 200, plot = TRUE, ... )

`xleft, ybottom, xright, ytop` |
Single numbers with the outer end locations of the rectangle. |

`rounding` |
Proportion of the box to round. Recommended to be between 0 and 1. DEFAULT: 0.25 |

`bothsame` |
Set the visual amount of rounding to the same in
both x and y direction? If TRUE (the default),
the proportion relates to the shortest rectangle side.
This is visually correct only if |

`aspcorrect` |
Correct for graph aspect ratio? DEFAULT: |

`devcorrect` |
Correct for device aspect ratio? DEFAULT: |

`corfactor` |
Aspect correction factor. I found this by trial and error. More elegant solutions are welcome! DEFAULT 1.3, works well for 7x5 (width x height) graphs |

`factorpoints` |
Logical: plot points at inset locations to determine the
exact value for |

`corners` |
Vector with integers indicating which corners to round. Starting bottom left, going clockwise. Zero to suppress rounding. DEFAULT: 1:4 |

`npoints` |
Total number of vertices for the corners. DEFAULT: 200 |

`plot` |
Logical. Plot the polygon? FALSE to only compute coordinates. DEFAULT: TRUE |

`...` |
Further arguments passed to |

Final coordinates, invisible

Berry Boessenkool, berry-b@gmx.de, Dec 2017

plot(1:10) ; rect(4,2,7,8, border=8) roundedRect(4,2,7,8, rounding=0.1) roundedRect(4,2,7,8, rounding=0.25) # default roundedRect(4,2,7,8, rounding=0.5) roundedRect(4,2,7,8, rounding=-0.1, border="red") roundedRect(4,2,7,8, rounding=1.1, border="blue") roundedRect(2,2,8,4, rounding=0.5) # in long boxes, 0.5 is max roundedRect(2,2,8,4, rounding=0.5, bothsame=FALSE, corfactor=1, border=3) plot(1:10) ; rect(4,2,7,8, border=8) roundedRect(4,2,7,8, corners=c(2,4)) plot(1:10, asp=1) ; rect(4,2,7,8, border=8) roundedRect(4,2,7,8) roundedRect(4,2,7,8, aspcorrect=FALSE, border="red") # results depend on asp plot(1:10, asp=1.5) ; rect(4,2,7,8, border=8) roundedRect(4,2,7,8) roundedRect(4,2,7,8, aspcorrect=FALSE, border="red") # results depend on asp plot(1:10, asp=1) ; rect(4,2,7,8, border=8) roundedRect(4,2,7,8) # difference only visible if rect is clearly not a square: roundedRect(4,2,7,8, bothsame=FALSE, border="red") roundedRect(4,2,7,8, bothsame=FALSE, aspcorrect=TRUE, border="blue") ## Not run: # aspect correction factor determination rrtest <- function(...) roundedRect(10,0.5, 35,15, border=2, factorpoints=TRUE) pdfpng({plot(1:40 ); rrtest(); plot(1:40, ylim=c(0,15) ); rrtest(); plot(1:40, ylim=c(0,15), asp=1); rrtest(); roundedRect(2,0, 8,15, factorpoints=TRUE); roundedRect(15,10, 25,16, npoints=200)}, file="dummytest", png=F, overwrite=T) ## End(Not run)

[Package *berryFunctions* version 1.20.1 Index]