Permalink
Browse files

Use vdiffr for visual unit tests (#1874)

* Add vdiffr cases

* Generate test figures

* Silence warnings

* Add theme_test()

* Update to ggplot2 dev

* Update to latest svglite and vdiffr

* Update FreeType on Travis

* Update figures with latest master

* Reoxygenise and add NEWS bullet

* Use dev version of svglite

* Update visual cases to latest svglite
  • Loading branch information...
1 parent 6d98006 commit 9b973f47d43ee0825a15a17c83be647c7a0b29d3 @lionel- lionel- committed with hadley Feb 1, 2017
Showing with 35,122 additions and 862 deletions.
  1. +7 −0 .travis.yml
  2. +2 −0 DESCRIPTION
  3. +1 −0 NAMESPACE
  4. +2 −0 NEWS.md
  5. +111 −0 R/theme-defaults.r
  6. +4 −0 appveyor.yml
  7. +7 −0 man/ggtheme.Rd
  8. +69 −0 tests/figs/cartesian-coordinates/contract-range.svg
  9. +85 −0 tests/figs/cartesian-coordinates/expand-range.svg
  10. +1,026 −0 tests/figs/coord-map/aitoff-projection-custom-orientation-centered-on-date-line.svg
  11. +1,698 −0 tests/figs/coord-map/aitoff-projection-default-orientation.svg
  12. +1,656 −0 tests/figs/coord-map/mercator-projection.svg
  13. +1,672 −0 tests/figs/coord-map/no-projection.svg
  14. +954 −0 tests/figs/coord-map/ortho-projection-custom-orientation-centered-on-new-york.svg
  15. +1,183 −0 tests/figs/coord-map/ortho-projection-default-orientation-centered-on-north-pole.svg
  16. +122 −0 tests/figs/coord-map/usa-map-mercator-projection.svg
  17. +133 −0 tests/figs/coord-polar/concentric-circles-at-theta-1-80-100.svg
  18. +133 −0 tests/figs/coord-polar/concentric-circles-at-theta-1-80-40.svg
  19. +133 −0 tests/figs/coord-polar/concentric-circles-at-theta-1-80-80.svg
  20. +133 −0 tests/figs/coord-polar/concentric-circles-at-theta-1-80-mult-100.svg
  21. +133 −0 tests/figs/coord-polar/concentric-circles-at-theta-1-80.svg
  22. +64 −0 tests/figs/coord-polar/continuous-theta-has-merged-low-high-values.svg
  23. +63 −0 tests/figs/coord-polar/continuous-theta-with-xlim-0-6-and-ylim-0-16.svg
  24. +63 −0 tests/figs/coord-polar/racetrack-plot-with-expand-f-closed-and-no-center-hole.svg
  25. +63 −0 tests/figs/coord-polar/racetrack-plot-with-expand-t-closed-and-has-center-hole.svg
  26. +361 −0 tests/figs/coord-polar/rays-circular-arcs-and-spiral-arcs.svg
  27. +63 −0 tests/figs/coord-polar/rose-plot-with-has-equal-spacing.svg
  28. +52 −0 tests/figs/creating-aesthetic-mappings/alpha-set-in-alpha.svg
  29. +52 −0 tests/figs/creating-aesthetic-mappings/alpha-set-in-colour.svg
  30. +50 −0 tests/figs/creating-aesthetic-mappings/stat-count-width-0-5.svg
  31. +50 −0 tests/figs/creating-aesthetic-mappings/stat-count.svg
  32. +48 −0 tests/figs/creating-aesthetic-mappings/stat-identity-width-0-5.svg
  33. +48 −0 tests/figs/creating-aesthetic-mappings/stat-identity.svg
  34. +3 −0 tests/figs/deps.txt
  35. +84 −0 tests/figs/geom-boxplot/outlier-colours.svg
  36. +65 −0 tests/figs/geom-dotplot/2-na-values-bin-along-y-stack-center.svg
  37. +69 −0 tests/figs/geom-dotplot/2-na-values-dot-density-binning-binwidth-4.svg
  38. +71 −0 tests/figs/geom-dotplot/basic-dotplot-with-dot-density-binning-binwidth-4.svg
  39. +67 −0 tests/figs/geom-dotplot/bin-along-y-stack-center.svg
  40. +67 −0 tests/figs/geom-dotplot/bin-along-y-stack-centerwhole-histodot.svg
  41. +67 −0 tests/figs/geom-dotplot/bin-along-y-stack-centerwhole.svg
  42. +137 −0 tests/figs/geom-dotplot/bin-y-continous-x-axis-grouping-by-x.svg
  43. +137 −0 tests/figs/geom-dotplot/bin-y-continous-x-axis-single-x-group.svg
  44. +160 −0 tests/figs/geom-dotplot/bin-y-dodged-coord-flip.svg
  45. +160 −0 tests/figs/geom-dotplot/bin-y-dodged.svg
  46. +145 −0 tests/figs/geom-dotplot/bin-y-dodging-3-stackgroups-histodot-currently-broken.svg
  47. +137 −0 tests/figs/geom-dotplot/bin-y-three-x-groups-bins-aligned-across-groups.svg
  48. +137 −0 tests/figs/geom-dotplot/bin-y-three-x-groups-bins-aligned-coord-flip.svg
  49. +163 −0 tests/figs/geom-dotplot/bin-y-three-x-groups-fill-and-dodge.svg
  50. +137 −0 tests/figs/geom-dotplot/bin-y-three-x-groups-stack-centerwhole.svg
  51. +71 −0 tests/figs/geom-dotplot/dots-stacked-closer-stackratio-5-fill-white.svg
  52. +229 −0 tests/figs/geom-dotplot/facets-3-groups-histodot-stackgroups.svg
  53. +71 −0 tests/figs/geom-dotplot/histodot-binning-equal-bin-spacing.svg
  54. +71 −0 tests/figs/geom-dotplot/larger-dots-dotsize-1-5-fill-white.svg
  55. +79 −0 tests/figs/geom-dotplot/multiple-groups-bins-aligned.svg
  56. +79 −0 tests/figs/geom-dotplot/multiple-groups-bins-not-aligned.svg
  57. +71 −0 tests/figs/geom-dotplot/stack-center-with-coord-flip.svg
  58. +71 −0 tests/figs/geom-dotplot/stack-center.svg
  59. +71 −0 tests/figs/geom-dotplot/stack-centerwhole-with-coord-flip.svg
  60. +71 −0 tests/figs/geom-dotplot/stack-centerwhole.svg
  61. +71 −0 tests/figs/geom-dotplot/stack-down-with-coord-flip.svg
  62. +71 −0 tests/figs/geom-dotplot/stack-down.svg
  63. +71 −0 tests/figs/geom-dotplot/stack-up-with-coord-flip.svg
  64. +71 −0 tests/figs/geom-dotplot/stack-up.svg
  65. +150 −0 tests/figs/geom-dotplot/stackgroups-with-3-groups-bin-y-histodot.svg
  66. +152 −0 tests/figs/geom-dotplot/stackgroups-with-3-groups-dot-density-with-aligned-bins.svg
  67. +152 −0 tests/figs/geom-dotplot/stackgroups-with-3-groups-histodot.svg
  68. +59 −0 tests/figs/geom-hline-vline-abline/geom-abline-coord-flip-int-0-slope-1-aligns-with-bars.svg
  69. +59 −0 tests/figs/geom-hline-vline-abline/geom-abline-coord-flip-int-2-slope-0.svg
  70. +59 −0 tests/figs/geom-hline-vline-abline/geom-abline-int-0-slope-1-aligns-with-bars.svg
  71. +76 −0 tests/figs/geom-hline-vline-abline/geom-abline-int-130-slope-1-proj-azequalarea.svg
  72. +76 −0 tests/figs/geom-hline-vline-abline/geom-abline-int-130-slope-1-proj-cylindrical.svg
  73. +76 −0 tests/figs/geom-hline-vline-abline/geom-abline-int-130-slope-1-proj-mercator.svg
  74. +59 −0 tests/figs/geom-hline-vline-abline/geom-abline-int-2-slope-0.svg
  75. +59 −0 tests/figs/geom-hline-vline-abline/geom-hline-coord-flip-intercept-2.svg
  76. +64 −0 tests/figs/geom-hline-vline-abline/geom-hline-coord-polar-int-2-expect-circle-at-r-2.svg
  77. +76 −0 tests/figs/geom-hline-vline-abline/geom-hline-int-45-proj-azequalarea.svg
  78. +76 −0 tests/figs/geom-hline-vline-abline/geom-hline-int-45-proj-cylindrical.svg
  79. +76 −0 tests/figs/geom-hline-vline-abline/geom-hline-int-45-proj-mercator.svg
  80. +59 −0 tests/figs/geom-hline-vline-abline/geom-hline-intercept-2.svg
  81. +59 −0 tests/figs/geom-hline-vline-abline/geom-vline-coord-flip-intercept-2.svg
  82. +64 −0 tests/figs/geom-hline-vline-abline/geom-vline-coord-polar-int-2-expect-a-ray-at-2.svg
  83. +76 −0 tests/figs/geom-hline-vline-abline/geom-vline-int-172-proj-azequalara.svg
  84. +76 −0 tests/figs/geom-hline-vline-abline/geom-vline-int-172-proj-cylindrical.svg
  85. +76 −0 tests/figs/geom-hline-vline-abline/geom-vline-int-172-proj-mercator.svg
  86. +59 −0 tests/figs/geom-hline-vline-abline/geom-vline-intercept-2.svg
  87. +81 −0 tests/figs/geom-path/lines-colour-with-changed-data-order-should-have-same-appearance.svg
  88. +81 −0 tests/figs/geom-path/lines-colour.svg
  89. +61 −0 tests/figs/geom-path/lines-with-changed-data-order-should-have-same-appearance.svg
  90. +61 −0 tests/figs/geom-path/lines.svg
  91. +79 −0 tests/figs/geom-polygon/stat-density2d-with-filled-polygons.svg
  92. +79 −0 tests/figs/geom-polygon/stat-density2d-with-paths.svg
  93. +71 −0 tests/figs/geom-raster/1-x-3-just-0-0.svg
  94. +73 −0 tests/figs/geom-raster/1-x-3-set-limits.svg
  95. +69 −0 tests/figs/geom-raster/1-x-3.svg
  96. +71 −0 tests/figs/geom-raster/3-x-1-just-0-0.svg
  97. +73 −0 tests/figs/geom-raster/3-x-1-set-limits.svg
  98. +69 −0 tests/figs/geom-raster/3-x-1.svg
  99. +77 −0 tests/figs/geom-raster/3-x-2-just-0-0.svg
  100. +79 −0 tests/figs/geom-raster/3-x-2-set-limits.svg
  101. +75 −0 tests/figs/geom-raster/3-x-2.svg
  102. +63 −0 tests/figs/geom-raster/irregular-categorical.svg
  103. +54 −0 tests/figs/geom-violin/basic.svg
  104. +52 −0 tests/figs/geom-violin/continuous-x-axis-multiple-groups-center-should-be-at-2-0.svg
  105. +52 −0 tests/figs/geom-violin/continuous-x-axis-single-group-center-should-be-at-1-0.svg
  106. +54 −0 tests/figs/geom-violin/coord-flip.svg
  107. +59 −0 tests/figs/geom-violin/coord-polar.svg
  108. +61 −0 tests/figs/geom-violin/dodging-and-coord-flip.svg
  109. +61 −0 tests/figs/geom-violin/dodging.svg
  110. +57 −0 tests/figs/geom-violin/grouping-on-x-and-fill-dodge-width-0-5.svg
  111. +57 −0 tests/figs/geom-violin/grouping-on-x-and-fill.svg
  112. +54 −0 tests/figs/geom-violin/narrower-width-5.svg
  113. +63 −0 tests/figs/geom-violin/quantiles.svg
  114. +54 −0 tests/figs/geom-violin/scale-area-to-sample-size-c-is-smaller.svg
  115. +129 −0 tests/figs/geom-violin/with-smaller-bandwidth-and-points.svg
  116. +125 −0 tests/figs/geom-violin/with-tails-and-points.svg
  117. +695 −0 tests/figs/guides/align-facet-labels-facets-horizontal.svg
  118. +695 −0 tests/figs/guides/align-facet-labels-facets-vertical.svg
  119. +173 −0 tests/figs/guides/facet-grid-legend-on-bottom.svg
  120. +173 −0 tests/figs/guides/facet-grid-legend-on-left.svg
  121. +173 −0 tests/figs/guides/facet-grid-legend-on-right.svg
  122. +173 −0 tests/figs/guides/facet-grid-legend-on-top.svg
  123. +261 −0 tests/figs/guides/facet-wrap-legend-on-bottom.svg
  124. +261 −0 tests/figs/guides/facet-wrap-legend-on-left.svg
  125. +261 −0 tests/figs/guides/facet-wrap-legend-on-right.svg
  126. +261 −0 tests/figs/guides/facet-wrap-legend-on-top.svg
  127. +79 −0 tests/figs/guides/legend-inside-plot-bottom-left-of-legend-at-center.svg
  128. +79 −0 tests/figs/guides/legend-inside-plot-bottom-left.svg
  129. +79 −0 tests/figs/guides/legend-inside-plot-centered.svg
  130. +79 −0 tests/figs/guides/legend-inside-plot-top-right.svg
  131. +85 −0 tests/figs/guides/legend-on-bottom.svg
  132. +85 −0 tests/figs/guides/legend-on-left.svg
  133. +85 −0 tests/figs/guides/legend-on-right.svg
  134. +85 −0 tests/figs/guides/legend-on-top.svg
  135. +79 −0 tests/figs/guides/padding-in-legend-box.svg
  136. +85 −0 tests/figs/guides/thick-axis-lines.svg
  137. +50 −0 tests/figs/scale-date/dates-along-x-default-breaks.svg
  138. +50 −0 tests/figs/scale-date/dates-along-y-default-breaks.svg
  139. +52 −0 tests/figs/scale-date/scale-x-date-breaks-3-weeks.svg
  140. +58 −0 tests/figs/scale-date/scale-x-date-breaks-date-breaks-2-weeks.svg
  141. +50 −0 tests/figs/scale-date/scale-x-date-labels-date-format-m-d.svg
  142. +50 −0 tests/figs/scale-date/scale-x-date-labels-date-format-w-week.svg
  143. +52 −0 tests/figs/scale-date/scale-y-date-breaks-3-weeks.svg
  144. +58 −0 tests/figs/scale-date/scale-y-date-breaks-date-breaks-2-weeks.svg
  145. +50 −0 tests/figs/scales-breaks-and-labels/default-breaks.svg
  146. +52 −0 tests/figs/scales-breaks-and-labels/manual-minor-breaks-with-coord-polar.svg
  147. +46 −0 tests/figs/scales-breaks-and-labels/manual-minor-breaks.svg
  148. +51 −0 tests/figs/scales-breaks-and-labels/months-and-weeks-breaks-coord-polar.svg
  149. +50 −0 tests/figs/scales-breaks-and-labels/months-and-weeks-breaks.svg
  150. +54 −0 tests/figs/scales-breaks-and-labels/no-alpha-breaks-no-legend.svg
  151. +54 −0 tests/figs/scales-breaks-and-labels/no-colour-breaks-no-legend.svg
  152. +54 −0 tests/figs/scales-breaks-and-labels/no-fill-breaks-no-legend.svg
  153. +54 −0 tests/figs/scales-breaks-and-labels/no-size-breaks-no-legend.svg
  154. +44 −0 tests/figs/scales-breaks-and-labels/no-x-breaks.svg
  155. +44 −0 tests/figs/scales-breaks-and-labels/no-y-breaks.svg
  156. +10,041 −0 tests/figs/scales-breaks-and-labels/scale-x-continuous-trans-log2-trans-scale-y-log10.svg
  157. +64 −0 tests/figs/scales-breaks-and-labels/x-and-y-transformations.svg
  158. +97 −0 tests/figs/stat-sum/summary-with-color-and-lines.svg
  159. +91 −0 tests/figs/stat-sum/summary-with-crossbars-manual-grouping.svg
  160. +91 −0 tests/figs/stat-sum/summary-with-crossbars-no-grouping.svg
  161. +54 −0 tests/figs/themes/add-blue-and-italic-in-separate-element-objects.svg
  162. +54 −0 tests/figs/themes/add-blue-and-italic-in-single-element-object.svg
  163. +72 −0 tests/figs/themes/add-blue-saved-theme-object-and-theme-bw-expect-black-text.svg
  164. +72 −0 tests/figs/themes/add-saved-theme-object-with-theme-bw-plus-blue-text.svg
  165. +72 −0 tests/figs/themes/add-theme-bw-base-size-24-base-family-serif.svg
  166. +72 −0 tests/figs/themes/axis-title-text-is-blue-compounded-relative-sizing.svg
  167. +72 −0 tests/figs/themes/blue-text-plus-theme-bw-result-is-black-text.svg
  168. +109 −0 tests/figs/themes/height-is-3-times-width-2-column-facets.svg
  169. +109 −0 tests/figs/themes/height-is-3-times-width-2-row-facets.svg
  170. +109 −0 tests/figs/themes/height-is-3-times-width-2-wrap-facets.svg
  171. +165 −0 tests/figs/themes/height-is-3-times-width-2x2-facets.svg
  172. +65 −0 tests/figs/themes/height-is-3-times-width.svg
  173. +32 −0 tests/figs/themes/many-blank-items-and-light-blue-plot-background.svg
  174. +59 −0 tests/figs/themes/text-is-element-blank-result-is-no-text.svg
  175. +72 −0 tests/figs/themes/theme-bw-larger-relative-size-for-axis-title-y.svg
  176. +72 −0 tests/figs/themes/theme-bw-plus-blue-text.svg
  177. +72 −0 tests/figs/themes/theme-bw-replace-larger-relative-size-for-axis-title-y.svg
  178. +109 −0 tests/figs/themes/width-is-3-times-height-2-column-facets.svg
  179. +109 −0 tests/figs/themes/width-is-3-times-height-2-row-facets.svg
  180. +109 −0 tests/figs/themes/width-is-3-times-height-2-wrap-facets.svg
  181. +165 −0 tests/figs/themes/width-is-3-times-height-2x2-facets.svg
  182. +65 −0 tests/figs/themes/width-is-3-times-height.svg
  183. +2 −0 tests/testthat/helper-vdiffr.R
  184. +29 −0 tests/testthat/test-aes.r
  185. +15 −0 tests/testthat/test-coord-cartesian.R
  186. +50 −0 tests/testthat/test-coord-map.R
  187. +53 −0 tests/testthat/test-coord-polar.r
  188. +9 −0 tests/testthat/test-geom-boxplot.R
  189. +137 −0 tests/testthat/test-geom-dotplot.R
  190. +98 −0 tests/testthat/test-geom-hline-vline-abline.R
  191. +29 −0 tests/testthat/test-geom-path.R
  192. +17 −0 tests/testthat/test-geom-polygon.R
  193. +63 −0 tests/testthat/test-geom-raster.R
  194. +54 −0 tests/testthat/test-geom-violin.R
  195. +89 −0 tests/testthat/test-guides.R
  196. +39 −0 tests/testthat/test-scale_date.R
  197. +64 −0 tests/testthat/test-scales-breaks-labels.r
  198. +31 −0 tests/testthat/test-stat-sum.R
  199. +104 −0 tests/testthat/test-theme.r
  200. +0 −1 visual_test/.gitignore
  201. +0 −26 visual_test/aesthetics.r
  202. +0 −9 visual_test/alpha.r
  203. +0 −28 visual_test/aspect-ratio.r
  204. +0 −7 visual_test/boxplot.r
  205. +0 −12 visual_test/coord-cartesian-with-limits.r
  206. +0 −52 visual_test/coord-map.r
  207. +0 −48 visual_test/coord-polar.r
  208. +0 −146 visual_test/dotplot.r
  209. +0 −24 visual_test/geom-path.r
  210. +0 −13 visual_test/geom-polygon.r
  211. +0 −55 visual_test/geom-raster.r
  212. +0 −19 visual_test/guide-axis.r
  213. +0 −62 visual_test/guide-position.r
  214. +0 −99 visual_test/lines.r
  215. +0 −41 visual_test/minor-breaks.r
  216. +0 −23 visual_test/scale-breaks.r
  217. +0 −32 visual_test/scale-date.r
  218. +0 −28 visual_test/stat-summary.r
  219. +0 −80 visual_test/themes.r
  220. +0 −57 visual_test/violin.r
View
@@ -2,6 +2,13 @@ language: R
cache: packages
sudo: false
+addons:
+ apt:
+ sources:
+ - debian-sid
+ packages:
+ - libfreetype6
+
r_github_packages:
- hadley/staticdocs@old
View
@@ -36,6 +36,7 @@ Suggests:
multcomp,
nlme,
testthat (>= 0.11.0),
+ vdiffr,
quantreg,
knitr,
rpart,
@@ -217,3 +218,4 @@ Collate:
'zzz.r'
VignetteBuilder: knitr
RoxygenNote: 6.0.0
+Remotes: hadley/svglite
View
@@ -476,6 +476,7 @@ export(theme_linedraw)
export(theme_minimal)
export(theme_replace)
export(theme_set)
+export(theme_test)
export(theme_update)
export(theme_void)
export(transform_position)
View
@@ -1,5 +1,7 @@
# ggplot2 2.2.1.9000
+* Automatic visual unit tests with vdiffr.
+
* Layers no longer warn about unknown aesthetics who's value is set to
`NULL` (overriding a set aesthetic in the plot) (#1909).
View
@@ -40,6 +40,10 @@
#' \item{\code{theme_void}}{
#' A completely empty theme.}
#'
+#' \item{\code{theme_test}}{
+#' A theme for visual unit tests. It should ideally never change except
+#' for new features.}
+#'
#' }
#'
#' @examples
@@ -341,3 +345,110 @@ theme_void <- function(base_size = 11, base_family = "") {
)
}
+#' @export
+#' @rdname ggtheme
+theme_test <- function(base_size = 11, base_family = "") {
+ half_line <- base_size / 2
+
+ theme(
+ line = element_line(colour = "black", size = 0.5, linetype = 1,
+ lineend = "butt"),
+ rect = element_rect(fill = "white", colour = "black",
+ size = 0.5, linetype = 1),
+ text = element_text(
+ family = base_family, face = "plain",
+ colour = "black", size = base_size,
+ lineheight = 0.9, hjust = 0.5, vjust = 0.5, angle = 0,
+ margin = margin(), debug = FALSE
+ ),
+
+ axis.line = element_blank(),
+ axis.line.x = NULL,
+ axis.line.y = NULL,
+ axis.text = element_text(size = rel(0.8), colour = "grey30"),
+ axis.text.x = element_text(margin = margin(t = 0.8 * half_line / 2), vjust = 1),
+ axis.text.x.top = element_text(margin = margin(b = 0.8 * half_line / 2), vjust = 0),
+ axis.text.y = element_text(margin = margin(r = 0.8 * half_line / 2), hjust = 1),
+ axis.text.y.right = element_text(margin = margin(l = 0.8 * half_line / 2), hjust = 0),
+ axis.ticks = element_line(colour = "grey20"),
+ axis.ticks.length = unit(half_line / 2, "pt"),
+ axis.title.x = element_text(
+ margin = margin(t = half_line),
+ vjust = 1
+ ),
+ axis.title.x.top = element_text(
+ margin = margin(b = half_line),
+ vjust = 0
+ ),
+ axis.title.y = element_text(
+ angle = 90,
+ margin = margin(r = half_line),
+ vjust = 1
+ ),
+ axis.title.y.right = element_text(
+ angle = -90,
+ margin = margin(l = half_line),
+ vjust = 0
+ ),
+
+ legend.background = element_rect(colour = NA),
+ legend.spacing = unit(0.4, "cm"),
+ legend.spacing.x = NULL,
+ legend.spacing.y = NULL,
+ legend.margin = margin(0, 0, 0, 0, "cm"),
+ legend.key = element_rect(fill = "white", colour=NA),
+ legend.key.size = unit(1.2, "lines"),
+ legend.key.height = NULL,
+ legend.key.width = NULL,
+ legend.text = element_text(size = rel(0.8)),
+ legend.text.align = NULL,
+ legend.title = element_text(hjust = 0),
+ legend.title.align = NULL,
+ legend.position = "right",
+ legend.direction = NULL,
+ legend.justification = "center",
+ legend.box = NULL,
+ legend.box.margin = margin(0, 0, 0, 0, "cm"),
+ legend.box.background = element_blank(),
+ legend.box.spacing = unit(0.4, "cm"),
+
+ panel.background = element_rect(fill = "white", colour = NA),
+ panel.border = element_rect(fill = NA, colour = "grey20"),
+ panel.grid.major = element_blank(),
+ panel.grid.minor = element_blank(),
+ panel.spacing = unit(half_line, "pt"),
+ panel.spacing.x = NULL,
+ panel.spacing.y = NULL,
+ panel.ontop = FALSE,
+
+ strip.background = element_rect(fill = "grey85", colour = "grey20"),
+ strip.text = element_text(colour = "grey10", size = rel(0.8)),
+ strip.text.x = element_text(margin = margin(t = half_line, b = half_line)),
+ strip.text.y = element_text(angle = -90, margin = margin(l = half_line, r = half_line)),
+ strip.placement = "inside",
+ strip.placement.x = NULL,
+ strip.placement.y = NULL,
+ strip.switch.pad.grid = unit(0.1, "cm"),
+ strip.switch.pad.wrap = unit(0.1, "cm"),
+
+ plot.background = element_rect(colour = "white"),
+ plot.title = element_text(
+ size = rel(1.2),
+ hjust = 0, vjust = 1,
+ margin = margin(b = half_line * 1.2)
+ ),
+ plot.subtitle = element_text(
+ size = rel(0.9),
+ hjust = 0, vjust = 1,
+ margin = margin(b = half_line * 0.9)
+ ),
+ plot.caption = element_text(
+ size = rel(0.9),
+ hjust = 1, vjust = 1,
+ margin = margin(t = half_line * 0.9)
+ ),
+ plot.margin = margin(half_line, half_line, half_line, half_line),
+
+ complete = TRUE
+ )
+}
View
@@ -12,6 +12,10 @@ install:
# Adapt as necessary starting from here
+environment:
+ global:
+ USE_RTOOLS: true
+
build_script:
- travis-tool.sh install_deps
View

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.
@@ -0,0 +1,69 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 720.00 576.00'>
+<defs>
+ <style type='text/css'><![CDATA[
+ line, polyline, polygon, path, rect, circle {
+ fill: none;
+ stroke: #000000;
+ stroke-linecap: round;
+ stroke-linejoin: round;
+ stroke-miterlimit: 10.00;
+ }
+ ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<rect x='0.00' y='0.00' width='720.00' height='576.00' style='stroke-width: 1.07; stroke: #FFFFFF; fill: #FFFFFF;' />
+<defs>
+ <clipPath id='cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA=='>
+ <rect x='35.95' y='23.48' width='678.57' height='522.79' />
+ </clipPath>
+</defs>
+<rect x='35.95' y='23.48' width='678.57' height='522.79' style='stroke-width: 1.07; stroke: none; fill: #FFFFFF;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='258.03' cy='498.74' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='336.68' cy='498.74' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='165.49' cy='455.97' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='441.55' cy='489.23' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='510.95' cy='553.39' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='517.12' cy='567.65' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='433.84' cy='417.94' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='421.50' cy='455.97' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='510.95' cy='541.51' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='510.95' cy='574.78' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='128.48' cy='227.84' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='15.90' cy='192.19' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='210.22' cy='486.86' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='635.87' cy='541.51' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='46.74' cy='349.03' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='109.97' cy='379.92' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='304.29' cy='529.63' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<circle cx='307.38' cy='489.23' r='1.95pt' style='stroke-width: 0.71; fill: #000000;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<rect x='35.95' y='23.48' width='678.57' height='522.79' style='stroke-width: 1.07; stroke: #333333;' clip-path='url(#cpMzUuOTV8NzE0LjUyfDU0Ni4yN3wyMy40OA==)' />
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='576.00' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='21.01' y='525.60' style='font-size: 8.80px; fill: #4D4D4D; font-family: Liberation Sans;' textLength='10.01px' lengthAdjust='spacingAndGlyphs'>20</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='21.01' y='406.78' style='font-size: 8.80px; fill: #4D4D4D; font-family: Liberation Sans;' textLength='10.01px' lengthAdjust='spacingAndGlyphs'>25</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='21.01' y='287.97' style='font-size: 8.80px; fill: #4D4D4D; font-family: Liberation Sans;' textLength='10.01px' lengthAdjust='spacingAndGlyphs'>30</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='21.01' y='169.15' style='font-size: 8.80px; fill: #4D4D4D; font-family: Liberation Sans;' textLength='10.01px' lengthAdjust='spacingAndGlyphs'>35</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='21.01' y='50.33' style='font-size: 8.80px; fill: #4D4D4D; font-family: Liberation Sans;' textLength='10.01px' lengthAdjust='spacingAndGlyphs'>40</text></g>
+<polyline points='33.21,522.50 35.95,522.50 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<polyline points='33.21,403.69 35.95,403.69 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<polyline points='33.21,284.87 35.95,284.87 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<polyline points='33.21,166.06 35.95,166.06 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<polyline points='33.21,47.24 35.95,47.24 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<polyline points='66.79,549.01 66.79,546.27 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<polyline points='221.01,549.01 221.01,546.27 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<polyline points='375.23,549.01 375.23,546.27 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<polyline points='529.46,549.01 529.46,546.27 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<polyline points='683.68,549.01 683.68,546.27 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='60.54' y='557.38' style='font-size: 8.80px; fill: #4D4D4D; font-family: Liberation Sans;' textLength='12.51px' lengthAdjust='spacingAndGlyphs'>2.0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='214.76' y='557.38' style='font-size: 8.80px; fill: #4D4D4D; font-family: Liberation Sans;' textLength='12.51px' lengthAdjust='spacingAndGlyphs'>2.5</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='368.98' y='557.38' style='font-size: 8.80px; fill: #4D4D4D; font-family: Liberation Sans;' textLength='12.51px' lengthAdjust='spacingAndGlyphs'>3.0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='523.20' y='557.38' style='font-size: 8.80px; fill: #4D4D4D; font-family: Liberation Sans;' textLength='12.51px' lengthAdjust='spacingAndGlyphs'>3.5</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='677.42' y='557.38' style='font-size: 8.80px; fill: #4D4D4D; font-family: Liberation Sans;' textLength='12.51px' lengthAdjust='spacingAndGlyphs'>4.0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='369.73' y='570.43' style='font-size: 11.00px; font-family: Liberation Sans;' textLength='11.00px' lengthAdjust='spacingAndGlyphs'>wt</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(13.04,295.57) rotate(-90)' style='font-size: 11.00px; font-family: Liberation Sans;' textLength='21.40px' lengthAdjust='spacingAndGlyphs'>mpg</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='35.95' y='14.42' style='font-size: 13.20px; font-family: Liberation Sans;' textLength='83.10px' lengthAdjust='spacingAndGlyphs'>contract range</text></g>
+</svg>
Oops, something went wrong.

0 comments on commit 9b973f4

Please sign in to comment.