rootfig 0.7.0__tar.gz → 0.7.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. {rootfig-0.7.0 → rootfig-0.7.1}/PKG-INFO +1 -1
  2. {rootfig-0.7.0 → rootfig-0.7.1}/docs/batch.md +11 -5
  3. rootfig-0.7.1/docs/images/gallery/arrays-alice-dark.png +0 -0
  4. rootfig-0.7.1/docs/images/gallery/arrays-alice.png +0 -0
  5. rootfig-0.7.1/docs/images/gallery/arrays-atlas-dark.png +0 -0
  6. rootfig-0.7.1/docs/images/gallery/arrays-atlas.png +0 -0
  7. rootfig-0.7.1/docs/images/gallery/arrays-lhcb-dark.png +0 -0
  8. rootfig-0.7.1/docs/images/gallery/arrays-lhcb.png +0 -0
  9. rootfig-0.7.1/docs/images/gallery/correlation-alice-dark.png +0 -0
  10. rootfig-0.7.1/docs/images/gallery/correlation-alice.png +0 -0
  11. rootfig-0.7.1/docs/images/gallery/correlation-atlas-dark.png +0 -0
  12. rootfig-0.7.1/docs/images/gallery/correlation-atlas.png +0 -0
  13. rootfig-0.7.1/docs/images/gallery/correlation-cms-dark.png +0 -0
  14. rootfig-0.7.1/docs/images/gallery/correlation-cms.png +0 -0
  15. rootfig-0.7.1/docs/images/gallery/correlation-dune-dark.png +0 -0
  16. rootfig-0.7.1/docs/images/gallery/correlation-dune.png +0 -0
  17. rootfig-0.7.1/docs/images/gallery/correlation-lhcb-dark.png +0 -0
  18. rootfig-0.7.1/docs/images/gallery/correlation-lhcb.png +0 -0
  19. rootfig-0.7.1/docs/images/gallery/density_flow-atlas-dark.png +0 -0
  20. rootfig-0.7.1/docs/images/gallery/density_flow-atlas.png +0 -0
  21. rootfig-0.7.1/docs/images/gallery/density_flow-cms-dark.png +0 -0
  22. rootfig-0.7.1/docs/images/gallery/density_flow-cms.png +0 -0
  23. rootfig-0.7.1/docs/images/gallery/density_flow-lhcb-dark.png +0 -0
  24. rootfig-0.7.1/docs/images/gallery/density_flow-lhcb.png +0 -0
  25. rootfig-0.7.1/docs/images/gallery/efficiency-alice-dark.png +0 -0
  26. rootfig-0.7.1/docs/images/gallery/efficiency-alice.png +0 -0
  27. rootfig-0.7.1/docs/images/gallery/efficiency-atlas-dark.png +0 -0
  28. rootfig-0.7.1/docs/images/gallery/efficiency-atlas.png +0 -0
  29. rootfig-0.7.1/docs/images/gallery/efficiency-cms-dark.png +0 -0
  30. rootfig-0.7.1/docs/images/gallery/efficiency-cms.png +0 -0
  31. rootfig-0.7.1/docs/images/gallery/efficiency-lhcb-dark.png +0 -0
  32. rootfig-0.7.1/docs/images/gallery/efficiency-lhcb.png +0 -0
  33. rootfig-0.7.1/docs/images/gallery/expressions-alice-dark.png +0 -0
  34. rootfig-0.7.1/docs/images/gallery/expressions-alice.png +0 -0
  35. rootfig-0.7.1/docs/images/gallery/expressions-atlas-dark.png +0 -0
  36. rootfig-0.7.1/docs/images/gallery/expressions-atlas.png +0 -0
  37. rootfig-0.7.1/docs/images/gallery/expressions-cms-dark.png +0 -0
  38. rootfig-0.7.1/docs/images/gallery/expressions-cms.png +0 -0
  39. rootfig-0.7.1/docs/images/gallery/expressions-dune-dark.png +0 -0
  40. rootfig-0.7.1/docs/images/gallery/expressions-dune.png +0 -0
  41. rootfig-0.7.1/docs/images/gallery/expressions-lhcb-dark.png +0 -0
  42. rootfig-0.7.1/docs/images/gallery/expressions-lhcb.png +0 -0
  43. rootfig-0.7.1/docs/images/gallery/fill_stats-alice-dark.png +0 -0
  44. rootfig-0.7.1/docs/images/gallery/fill_stats-alice.png +0 -0
  45. rootfig-0.7.1/docs/images/gallery/fill_stats-atlas-dark.png +0 -0
  46. rootfig-0.7.1/docs/images/gallery/fill_stats-atlas.png +0 -0
  47. rootfig-0.7.1/docs/images/gallery/fill_stats-cms-dark.png +0 -0
  48. rootfig-0.7.1/docs/images/gallery/fill_stats-cms.png +0 -0
  49. rootfig-0.7.1/docs/images/gallery/fill_stats-dark.png +0 -0
  50. rootfig-0.7.1/docs/images/gallery/fill_stats-dune-dark.png +0 -0
  51. rootfig-0.7.1/docs/images/gallery/fill_stats-dune.png +0 -0
  52. rootfig-0.7.1/docs/images/gallery/fill_stats-lhcb-dark.png +0 -0
  53. rootfig-0.7.1/docs/images/gallery/fill_stats-lhcb.png +0 -0
  54. rootfig-0.7.1/docs/images/gallery/fill_stats.png +0 -0
  55. rootfig-0.7.1/docs/images/gallery/hist2d-cms-dark.png +0 -0
  56. rootfig-0.7.1/docs/images/gallery/hist2d-cms.png +0 -0
  57. rootfig-0.7.1/docs/images/gallery/hist2d-dark.png +0 -0
  58. rootfig-0.7.1/docs/images/gallery/hist2d-dune-dark.png +0 -0
  59. rootfig-0.7.1/docs/images/gallery/hist2d-dune.png +0 -0
  60. rootfig-0.7.1/docs/images/gallery/hist2d.png +0 -0
  61. rootfig-0.7.1/docs/images/gallery/log_axes-alice-dark.png +0 -0
  62. rootfig-0.7.1/docs/images/gallery/log_axes-alice.png +0 -0
  63. rootfig-0.7.1/docs/images/gallery/log_axes-atlas-dark.png +0 -0
  64. rootfig-0.7.1/docs/images/gallery/log_axes-atlas.png +0 -0
  65. rootfig-0.7.1/docs/images/gallery/log_axes-cms-dark.png +0 -0
  66. rootfig-0.7.1/docs/images/gallery/log_axes-cms.png +0 -0
  67. rootfig-0.7.1/docs/images/gallery/log_axes-dune-dark.png +0 -0
  68. rootfig-0.7.1/docs/images/gallery/log_axes-dune.png +0 -0
  69. rootfig-0.7.1/docs/images/gallery/log_axes-lhcb-dark.png +0 -0
  70. rootfig-0.7.1/docs/images/gallery/log_axes-lhcb.png +0 -0
  71. rootfig-0.7.1/docs/images/gallery/luminosity-dark.png +0 -0
  72. rootfig-0.7.1/docs/images/gallery/luminosity.png +0 -0
  73. rootfig-0.7.1/docs/images/gallery/many_plots-dark.png +0 -0
  74. rootfig-0.7.1/docs/images/gallery/many_plots.png +0 -0
  75. rootfig-0.7.1/docs/images/gallery/object_vs_event-alice-dark.png +0 -0
  76. rootfig-0.7.1/docs/images/gallery/object_vs_event-alice.png +0 -0
  77. rootfig-0.7.1/docs/images/gallery/object_vs_event-atlas-dark.png +0 -0
  78. rootfig-0.7.1/docs/images/gallery/object_vs_event-atlas.png +0 -0
  79. rootfig-0.7.1/docs/images/gallery/object_vs_event-cms-dark.png +0 -0
  80. rootfig-0.7.1/docs/images/gallery/object_vs_event-cms.png +0 -0
  81. rootfig-0.7.1/docs/images/gallery/object_vs_event-lhcb-dark.png +0 -0
  82. rootfig-0.7.1/docs/images/gallery/object_vs_event-lhcb.png +0 -0
  83. rootfig-0.7.1/docs/images/gallery/overlay_ratio-alice-dark.png +0 -0
  84. rootfig-0.7.1/docs/images/gallery/overlay_ratio-alice.png +0 -0
  85. rootfig-0.7.1/docs/images/gallery/overlay_ratio-atlas-dark.png +0 -0
  86. rootfig-0.7.1/docs/images/gallery/overlay_ratio-atlas.png +0 -0
  87. rootfig-0.7.1/docs/images/gallery/overlay_ratio-cms-dark.png +0 -0
  88. rootfig-0.7.1/docs/images/gallery/overlay_ratio-cms.png +0 -0
  89. rootfig-0.7.1/docs/images/gallery/overlay_ratio-lhcb-dark.png +0 -0
  90. rootfig-0.7.1/docs/images/gallery/overlay_ratio-lhcb.png +0 -0
  91. rootfig-0.7.1/docs/images/gallery/profile-atlas-dark.png +0 -0
  92. rootfig-0.7.1/docs/images/gallery/profile-atlas.png +0 -0
  93. rootfig-0.7.1/docs/images/gallery/profile-dune-dark.png +0 -0
  94. rootfig-0.7.1/docs/images/gallery/profile-dune.png +0 -0
  95. rootfig-0.7.1/docs/images/gallery/profile-lhcb-dark.png +0 -0
  96. rootfig-0.7.1/docs/images/gallery/profile-lhcb.png +0 -0
  97. rootfig-0.7.1/docs/images/gallery/quick-alice-dark.png +0 -0
  98. rootfig-0.7.1/docs/images/gallery/quick-alice.png +0 -0
  99. rootfig-0.7.1/docs/images/gallery/quick-atlas-dark.png +0 -0
  100. rootfig-0.7.1/docs/images/gallery/quick-atlas.png +0 -0
  101. rootfig-0.7.1/docs/images/gallery/quick-cms-dark.png +0 -0
  102. rootfig-0.7.1/docs/images/gallery/quick-cms.png +0 -0
  103. rootfig-0.7.1/docs/images/gallery/quick-lhcb-dark.png +0 -0
  104. rootfig-0.7.1/docs/images/gallery/quick-lhcb.png +0 -0
  105. rootfig-0.7.1/docs/images/gallery/ratio_reference-alice-dark.png +0 -0
  106. rootfig-0.7.1/docs/images/gallery/ratio_reference-alice.png +0 -0
  107. rootfig-0.7.1/docs/images/gallery/ratio_reference-atlas-dark.png +0 -0
  108. rootfig-0.7.1/docs/images/gallery/ratio_reference-atlas.png +0 -0
  109. rootfig-0.7.1/docs/images/gallery/ratio_reference-cms-dark.png +0 -0
  110. rootfig-0.7.1/docs/images/gallery/ratio_reference-cms.png +0 -0
  111. rootfig-0.7.1/docs/images/gallery/ratio_reference-lhcb-dark.png +0 -0
  112. rootfig-0.7.1/docs/images/gallery/ratio_reference-lhcb.png +0 -0
  113. rootfig-0.7.1/docs/images/gallery/stack_data-alice-dark.png +0 -0
  114. rootfig-0.7.1/docs/images/gallery/stack_data-alice.png +0 -0
  115. rootfig-0.7.1/docs/images/gallery/stack_data-atlas-dark.png +0 -0
  116. rootfig-0.7.1/docs/images/gallery/stack_data-atlas.png +0 -0
  117. rootfig-0.7.1/docs/images/gallery/stack_data-cms-dark.png +0 -0
  118. rootfig-0.7.1/docs/images/gallery/stack_data-cms.png +0 -0
  119. rootfig-0.7.1/docs/images/gallery/stack_data-dune-dark.png +0 -0
  120. rootfig-0.7.1/docs/images/gallery/stack_data-dune.png +0 -0
  121. rootfig-0.7.1/docs/images/gallery/stack_data-lhcb-dark.png +0 -0
  122. rootfig-0.7.1/docs/images/gallery/stack_data-lhcb.png +0 -0
  123. rootfig-0.7.1/docs/images/gallery/style_colors-dark.png +0 -0
  124. rootfig-0.7.1/docs/images/gallery/style_colors.png +0 -0
  125. rootfig-0.7.1/docs/images/gallery/systematics-alice-dark.png +0 -0
  126. rootfig-0.7.1/docs/images/gallery/systematics-alice.png +0 -0
  127. rootfig-0.7.1/docs/images/gallery/systematics-atlas-dark.png +0 -0
  128. rootfig-0.7.1/docs/images/gallery/systematics-atlas.png +0 -0
  129. rootfig-0.7.1/docs/images/gallery/systematics-cms-dark.png +0 -0
  130. rootfig-0.7.1/docs/images/gallery/systematics-cms.png +0 -0
  131. rootfig-0.7.1/docs/images/gallery/systematics-dune-dark.png +0 -0
  132. rootfig-0.7.1/docs/images/gallery/systematics-dune.png +0 -0
  133. rootfig-0.7.1/docs/images/gallery/systematics-lhcb-dark.png +0 -0
  134. rootfig-0.7.1/docs/images/gallery/systematics-lhcb.png +0 -0
  135. rootfig-0.7.1/docs/images/gallery/variable_bins-alice-dark.png +0 -0
  136. rootfig-0.7.1/docs/images/gallery/variable_bins-alice.png +0 -0
  137. rootfig-0.7.1/docs/images/gallery/variable_bins-atlas-dark.png +0 -0
  138. rootfig-0.7.1/docs/images/gallery/variable_bins-atlas.png +0 -0
  139. rootfig-0.7.1/docs/images/gallery/variable_bins-cms-dark.png +0 -0
  140. rootfig-0.7.1/docs/images/gallery/variable_bins-cms.png +0 -0
  141. rootfig-0.7.1/docs/images/gallery/variable_bins-dune-dark.png +0 -0
  142. rootfig-0.7.1/docs/images/gallery/variable_bins-dune.png +0 -0
  143. rootfig-0.7.1/docs/images/gallery/variable_bins-lhcb-dark.png +0 -0
  144. rootfig-0.7.1/docs/images/gallery/variable_bins-lhcb.png +0 -0
  145. rootfig-0.7.1/docs/images/gallery/xbreak_ratio-alice-dark.png +0 -0
  146. rootfig-0.7.1/docs/images/gallery/xbreak_ratio-alice.png +0 -0
  147. rootfig-0.7.1/docs/images/gallery/xbreak_ratio-atlas-dark.png +0 -0
  148. rootfig-0.7.1/docs/images/gallery/xbreak_ratio-atlas.png +0 -0
  149. rootfig-0.7.1/docs/images/gallery/xbreak_ratio-cms-dark.png +0 -0
  150. rootfig-0.7.1/docs/images/gallery/xbreak_ratio-cms.png +0 -0
  151. rootfig-0.7.1/docs/images/gallery/xbreak_ratio-dune-dark.png +0 -0
  152. rootfig-0.7.1/docs/images/gallery/xbreak_ratio-dune.png +0 -0
  153. rootfig-0.7.1/docs/images/gallery/xbreak_ratio-lhcb-dark.png +0 -0
  154. rootfig-0.7.1/docs/images/gallery/xbreak_ratio-lhcb.png +0 -0
  155. {rootfig-0.7.0 → rootfig-0.7.1}/docs/plotting.md +15 -3
  156. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/__init__.py +1 -1
  157. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/api/_pdf.py +23 -7
  158. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/api/measures.py +14 -8
  159. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/api/plots1d.py +18 -7
  160. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/api/plots2d.py +7 -6
  161. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/plotting/__init__.py +8 -2
  162. rootfig-0.7.1/src/rootfig/plotting/engine.py +153 -0
  163. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/plotting/figure.py +105 -27
  164. rootfig-0.7.1/src/rootfig/plotting/finish.py +127 -0
  165. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/plotting/pages.py +47 -12
  166. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/plotting/style.py +138 -75
  167. {rootfig-0.7.0 → rootfig-0.7.1}/tests/test_api.py +243 -2
  168. {rootfig-0.7.0 → rootfig-0.7.1}/tests/test_pages.py +35 -9
  169. {rootfig-0.7.0 → rootfig-0.7.1}/tests/test_plotting.py +146 -0
  170. {rootfig-0.7.0 → rootfig-0.7.1}/tests/test_save_pdf.py +149 -9
  171. rootfig-0.7.0/docs/images/gallery/arrays-alice-dark.png +0 -0
  172. rootfig-0.7.0/docs/images/gallery/arrays-alice.png +0 -0
  173. rootfig-0.7.0/docs/images/gallery/arrays-atlas-dark.png +0 -0
  174. rootfig-0.7.0/docs/images/gallery/arrays-atlas.png +0 -0
  175. rootfig-0.7.0/docs/images/gallery/arrays-lhcb-dark.png +0 -0
  176. rootfig-0.7.0/docs/images/gallery/arrays-lhcb.png +0 -0
  177. rootfig-0.7.0/docs/images/gallery/correlation-alice-dark.png +0 -0
  178. rootfig-0.7.0/docs/images/gallery/correlation-alice.png +0 -0
  179. rootfig-0.7.0/docs/images/gallery/correlation-atlas-dark.png +0 -0
  180. rootfig-0.7.0/docs/images/gallery/correlation-atlas.png +0 -0
  181. rootfig-0.7.0/docs/images/gallery/correlation-cms-dark.png +0 -0
  182. rootfig-0.7.0/docs/images/gallery/correlation-cms.png +0 -0
  183. rootfig-0.7.0/docs/images/gallery/correlation-dune-dark.png +0 -0
  184. rootfig-0.7.0/docs/images/gallery/correlation-dune.png +0 -0
  185. rootfig-0.7.0/docs/images/gallery/correlation-lhcb-dark.png +0 -0
  186. rootfig-0.7.0/docs/images/gallery/correlation-lhcb.png +0 -0
  187. rootfig-0.7.0/docs/images/gallery/density_flow-atlas-dark.png +0 -0
  188. rootfig-0.7.0/docs/images/gallery/density_flow-atlas.png +0 -0
  189. rootfig-0.7.0/docs/images/gallery/density_flow-cms-dark.png +0 -0
  190. rootfig-0.7.0/docs/images/gallery/density_flow-cms.png +0 -0
  191. rootfig-0.7.0/docs/images/gallery/density_flow-lhcb-dark.png +0 -0
  192. rootfig-0.7.0/docs/images/gallery/density_flow-lhcb.png +0 -0
  193. rootfig-0.7.0/docs/images/gallery/efficiency-alice-dark.png +0 -0
  194. rootfig-0.7.0/docs/images/gallery/efficiency-alice.png +0 -0
  195. rootfig-0.7.0/docs/images/gallery/efficiency-atlas-dark.png +0 -0
  196. rootfig-0.7.0/docs/images/gallery/efficiency-atlas.png +0 -0
  197. rootfig-0.7.0/docs/images/gallery/efficiency-cms-dark.png +0 -0
  198. rootfig-0.7.0/docs/images/gallery/efficiency-cms.png +0 -0
  199. rootfig-0.7.0/docs/images/gallery/efficiency-lhcb-dark.png +0 -0
  200. rootfig-0.7.0/docs/images/gallery/efficiency-lhcb.png +0 -0
  201. rootfig-0.7.0/docs/images/gallery/expressions-alice-dark.png +0 -0
  202. rootfig-0.7.0/docs/images/gallery/expressions-alice.png +0 -0
  203. rootfig-0.7.0/docs/images/gallery/expressions-atlas-dark.png +0 -0
  204. rootfig-0.7.0/docs/images/gallery/expressions-atlas.png +0 -0
  205. rootfig-0.7.0/docs/images/gallery/expressions-cms-dark.png +0 -0
  206. rootfig-0.7.0/docs/images/gallery/expressions-cms.png +0 -0
  207. rootfig-0.7.0/docs/images/gallery/expressions-dune-dark.png +0 -0
  208. rootfig-0.7.0/docs/images/gallery/expressions-dune.png +0 -0
  209. rootfig-0.7.0/docs/images/gallery/expressions-lhcb-dark.png +0 -0
  210. rootfig-0.7.0/docs/images/gallery/expressions-lhcb.png +0 -0
  211. rootfig-0.7.0/docs/images/gallery/fill_stats-alice-dark.png +0 -0
  212. rootfig-0.7.0/docs/images/gallery/fill_stats-alice.png +0 -0
  213. rootfig-0.7.0/docs/images/gallery/fill_stats-atlas-dark.png +0 -0
  214. rootfig-0.7.0/docs/images/gallery/fill_stats-atlas.png +0 -0
  215. rootfig-0.7.0/docs/images/gallery/fill_stats-cms-dark.png +0 -0
  216. rootfig-0.7.0/docs/images/gallery/fill_stats-cms.png +0 -0
  217. rootfig-0.7.0/docs/images/gallery/fill_stats-dark.png +0 -0
  218. rootfig-0.7.0/docs/images/gallery/fill_stats-dune-dark.png +0 -0
  219. rootfig-0.7.0/docs/images/gallery/fill_stats-dune.png +0 -0
  220. rootfig-0.7.0/docs/images/gallery/fill_stats-lhcb-dark.png +0 -0
  221. rootfig-0.7.0/docs/images/gallery/fill_stats-lhcb.png +0 -0
  222. rootfig-0.7.0/docs/images/gallery/fill_stats.png +0 -0
  223. rootfig-0.7.0/docs/images/gallery/hist2d-cms-dark.png +0 -0
  224. rootfig-0.7.0/docs/images/gallery/hist2d-cms.png +0 -0
  225. rootfig-0.7.0/docs/images/gallery/hist2d-dark.png +0 -0
  226. rootfig-0.7.0/docs/images/gallery/hist2d-dune-dark.png +0 -0
  227. rootfig-0.7.0/docs/images/gallery/hist2d-dune.png +0 -0
  228. rootfig-0.7.0/docs/images/gallery/hist2d.png +0 -0
  229. rootfig-0.7.0/docs/images/gallery/log_axes-alice-dark.png +0 -0
  230. rootfig-0.7.0/docs/images/gallery/log_axes-alice.png +0 -0
  231. rootfig-0.7.0/docs/images/gallery/log_axes-atlas-dark.png +0 -0
  232. rootfig-0.7.0/docs/images/gallery/log_axes-atlas.png +0 -0
  233. rootfig-0.7.0/docs/images/gallery/log_axes-cms-dark.png +0 -0
  234. rootfig-0.7.0/docs/images/gallery/log_axes-cms.png +0 -0
  235. rootfig-0.7.0/docs/images/gallery/log_axes-dune-dark.png +0 -0
  236. rootfig-0.7.0/docs/images/gallery/log_axes-dune.png +0 -0
  237. rootfig-0.7.0/docs/images/gallery/log_axes-lhcb-dark.png +0 -0
  238. rootfig-0.7.0/docs/images/gallery/log_axes-lhcb.png +0 -0
  239. rootfig-0.7.0/docs/images/gallery/luminosity-dark.png +0 -0
  240. rootfig-0.7.0/docs/images/gallery/luminosity.png +0 -0
  241. rootfig-0.7.0/docs/images/gallery/many_plots-dark.png +0 -0
  242. rootfig-0.7.0/docs/images/gallery/many_plots.png +0 -0
  243. rootfig-0.7.0/docs/images/gallery/object_vs_event-alice-dark.png +0 -0
  244. rootfig-0.7.0/docs/images/gallery/object_vs_event-alice.png +0 -0
  245. rootfig-0.7.0/docs/images/gallery/object_vs_event-atlas-dark.png +0 -0
  246. rootfig-0.7.0/docs/images/gallery/object_vs_event-atlas.png +0 -0
  247. rootfig-0.7.0/docs/images/gallery/object_vs_event-cms-dark.png +0 -0
  248. rootfig-0.7.0/docs/images/gallery/object_vs_event-cms.png +0 -0
  249. rootfig-0.7.0/docs/images/gallery/object_vs_event-lhcb-dark.png +0 -0
  250. rootfig-0.7.0/docs/images/gallery/object_vs_event-lhcb.png +0 -0
  251. rootfig-0.7.0/docs/images/gallery/overlay_ratio-alice-dark.png +0 -0
  252. rootfig-0.7.0/docs/images/gallery/overlay_ratio-alice.png +0 -0
  253. rootfig-0.7.0/docs/images/gallery/overlay_ratio-atlas-dark.png +0 -0
  254. rootfig-0.7.0/docs/images/gallery/overlay_ratio-atlas.png +0 -0
  255. rootfig-0.7.0/docs/images/gallery/overlay_ratio-cms-dark.png +0 -0
  256. rootfig-0.7.0/docs/images/gallery/overlay_ratio-cms.png +0 -0
  257. rootfig-0.7.0/docs/images/gallery/overlay_ratio-lhcb-dark.png +0 -0
  258. rootfig-0.7.0/docs/images/gallery/overlay_ratio-lhcb.png +0 -0
  259. rootfig-0.7.0/docs/images/gallery/profile-atlas-dark.png +0 -0
  260. rootfig-0.7.0/docs/images/gallery/profile-atlas.png +0 -0
  261. rootfig-0.7.0/docs/images/gallery/profile-dune-dark.png +0 -0
  262. rootfig-0.7.0/docs/images/gallery/profile-dune.png +0 -0
  263. rootfig-0.7.0/docs/images/gallery/profile-lhcb-dark.png +0 -0
  264. rootfig-0.7.0/docs/images/gallery/profile-lhcb.png +0 -0
  265. rootfig-0.7.0/docs/images/gallery/quick-alice-dark.png +0 -0
  266. rootfig-0.7.0/docs/images/gallery/quick-alice.png +0 -0
  267. rootfig-0.7.0/docs/images/gallery/quick-atlas-dark.png +0 -0
  268. rootfig-0.7.0/docs/images/gallery/quick-atlas.png +0 -0
  269. rootfig-0.7.0/docs/images/gallery/quick-cms-dark.png +0 -0
  270. rootfig-0.7.0/docs/images/gallery/quick-cms.png +0 -0
  271. rootfig-0.7.0/docs/images/gallery/quick-lhcb-dark.png +0 -0
  272. rootfig-0.7.0/docs/images/gallery/quick-lhcb.png +0 -0
  273. rootfig-0.7.0/docs/images/gallery/ratio_reference-alice-dark.png +0 -0
  274. rootfig-0.7.0/docs/images/gallery/ratio_reference-alice.png +0 -0
  275. rootfig-0.7.0/docs/images/gallery/ratio_reference-atlas-dark.png +0 -0
  276. rootfig-0.7.0/docs/images/gallery/ratio_reference-atlas.png +0 -0
  277. rootfig-0.7.0/docs/images/gallery/ratio_reference-cms-dark.png +0 -0
  278. rootfig-0.7.0/docs/images/gallery/ratio_reference-cms.png +0 -0
  279. rootfig-0.7.0/docs/images/gallery/ratio_reference-lhcb-dark.png +0 -0
  280. rootfig-0.7.0/docs/images/gallery/ratio_reference-lhcb.png +0 -0
  281. rootfig-0.7.0/docs/images/gallery/stack_data-alice-dark.png +0 -0
  282. rootfig-0.7.0/docs/images/gallery/stack_data-alice.png +0 -0
  283. rootfig-0.7.0/docs/images/gallery/stack_data-atlas-dark.png +0 -0
  284. rootfig-0.7.0/docs/images/gallery/stack_data-atlas.png +0 -0
  285. rootfig-0.7.0/docs/images/gallery/stack_data-cms-dark.png +0 -0
  286. rootfig-0.7.0/docs/images/gallery/stack_data-cms.png +0 -0
  287. rootfig-0.7.0/docs/images/gallery/stack_data-dune-dark.png +0 -0
  288. rootfig-0.7.0/docs/images/gallery/stack_data-dune.png +0 -0
  289. rootfig-0.7.0/docs/images/gallery/stack_data-lhcb-dark.png +0 -0
  290. rootfig-0.7.0/docs/images/gallery/stack_data-lhcb.png +0 -0
  291. rootfig-0.7.0/docs/images/gallery/style_colors-dark.png +0 -0
  292. rootfig-0.7.0/docs/images/gallery/style_colors.png +0 -0
  293. rootfig-0.7.0/docs/images/gallery/systematics-alice-dark.png +0 -0
  294. rootfig-0.7.0/docs/images/gallery/systematics-alice.png +0 -0
  295. rootfig-0.7.0/docs/images/gallery/systematics-atlas-dark.png +0 -0
  296. rootfig-0.7.0/docs/images/gallery/systematics-atlas.png +0 -0
  297. rootfig-0.7.0/docs/images/gallery/systematics-cms-dark.png +0 -0
  298. rootfig-0.7.0/docs/images/gallery/systematics-cms.png +0 -0
  299. rootfig-0.7.0/docs/images/gallery/systematics-dune-dark.png +0 -0
  300. rootfig-0.7.0/docs/images/gallery/systematics-dune.png +0 -0
  301. rootfig-0.7.0/docs/images/gallery/systematics-lhcb-dark.png +0 -0
  302. rootfig-0.7.0/docs/images/gallery/systematics-lhcb.png +0 -0
  303. rootfig-0.7.0/docs/images/gallery/variable_bins-alice-dark.png +0 -0
  304. rootfig-0.7.0/docs/images/gallery/variable_bins-alice.png +0 -0
  305. rootfig-0.7.0/docs/images/gallery/variable_bins-atlas-dark.png +0 -0
  306. rootfig-0.7.0/docs/images/gallery/variable_bins-atlas.png +0 -0
  307. rootfig-0.7.0/docs/images/gallery/variable_bins-cms-dark.png +0 -0
  308. rootfig-0.7.0/docs/images/gallery/variable_bins-cms.png +0 -0
  309. rootfig-0.7.0/docs/images/gallery/variable_bins-dune-dark.png +0 -0
  310. rootfig-0.7.0/docs/images/gallery/variable_bins-dune.png +0 -0
  311. rootfig-0.7.0/docs/images/gallery/variable_bins-lhcb-dark.png +0 -0
  312. rootfig-0.7.0/docs/images/gallery/variable_bins-lhcb.png +0 -0
  313. rootfig-0.7.0/docs/images/gallery/xbreak_ratio-alice-dark.png +0 -0
  314. rootfig-0.7.0/docs/images/gallery/xbreak_ratio-alice.png +0 -0
  315. rootfig-0.7.0/docs/images/gallery/xbreak_ratio-atlas-dark.png +0 -0
  316. rootfig-0.7.0/docs/images/gallery/xbreak_ratio-atlas.png +0 -0
  317. rootfig-0.7.0/docs/images/gallery/xbreak_ratio-cms-dark.png +0 -0
  318. rootfig-0.7.0/docs/images/gallery/xbreak_ratio-cms.png +0 -0
  319. rootfig-0.7.0/docs/images/gallery/xbreak_ratio-dune-dark.png +0 -0
  320. rootfig-0.7.0/docs/images/gallery/xbreak_ratio-dune.png +0 -0
  321. rootfig-0.7.0/docs/images/gallery/xbreak_ratio-lhcb-dark.png +0 -0
  322. rootfig-0.7.0/docs/images/gallery/xbreak_ratio-lhcb.png +0 -0
  323. {rootfig-0.7.0 → rootfig-0.7.1}/.gitignore +0 -0
  324. {rootfig-0.7.0 → rootfig-0.7.1}/CONTRIBUTING.md +0 -0
  325. {rootfig-0.7.0 → rootfig-0.7.1}/LICENSE +0 -0
  326. {rootfig-0.7.0 → rootfig-0.7.1}/README.md +0 -0
  327. {rootfig-0.7.0 → rootfig-0.7.1}/docs/api.md +0 -0
  328. {rootfig-0.7.0 → rootfig-0.7.1}/docs/composable.md +0 -0
  329. {rootfig-0.7.0 → rootfig-0.7.1}/docs/ecosystem.md +0 -0
  330. {rootfig-0.7.0 → rootfig-0.7.1}/docs/expressions.md +0 -0
  331. {rootfig-0.7.0 → rootfig-0.7.1}/docs/gallery/index.md +0 -0
  332. {rootfig-0.7.0 → rootfig-0.7.1}/docs/hooks/gallery.py +0 -0
  333. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/arrays-cms-dark.png +0 -0
  334. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/arrays-cms.png +0 -0
  335. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/arrays-dark.png +0 -0
  336. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/arrays-dune-dark.png +0 -0
  337. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/arrays-dune.png +0 -0
  338. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/arrays.png +0 -0
  339. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/correlation-dark.png +0 -0
  340. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/correlation.png +0 -0
  341. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/density_flow-alice-dark.png +0 -0
  342. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/density_flow-alice.png +0 -0
  343. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/density_flow-dark.png +0 -0
  344. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/density_flow-dune-dark.png +0 -0
  345. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/density_flow-dune.png +0 -0
  346. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/density_flow.png +0 -0
  347. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/efficiency-dark.png +0 -0
  348. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/efficiency-dune-dark.png +0 -0
  349. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/efficiency-dune.png +0 -0
  350. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/efficiency.png +0 -0
  351. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/expressions-dark.png +0 -0
  352. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/expressions.png +0 -0
  353. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/hist2d-alice-dark.png +0 -0
  354. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/hist2d-alice.png +0 -0
  355. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/hist2d-atlas-dark.png +0 -0
  356. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/hist2d-atlas.png +0 -0
  357. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/hist2d-lhcb-dark.png +0 -0
  358. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/hist2d-lhcb.png +0 -0
  359. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/log_axes-dark.png +0 -0
  360. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/log_axes.png +0 -0
  361. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/object_vs_event-dark.png +0 -0
  362. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/object_vs_event-dune-dark.png +0 -0
  363. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/object_vs_event-dune.png +0 -0
  364. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/object_vs_event.png +0 -0
  365. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/overlay_ratio-dark.png +0 -0
  366. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/overlay_ratio-dune-dark.png +0 -0
  367. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/overlay_ratio-dune.png +0 -0
  368. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/overlay_ratio.png +0 -0
  369. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/profile-alice-dark.png +0 -0
  370. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/profile-alice.png +0 -0
  371. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/profile-cms-dark.png +0 -0
  372. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/profile-cms.png +0 -0
  373. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/profile-dark.png +0 -0
  374. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/profile.png +0 -0
  375. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/quick-dark.png +0 -0
  376. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/quick-dune-dark.png +0 -0
  377. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/quick-dune.png +0 -0
  378. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/quick.png +0 -0
  379. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/ratio_reference-dark.png +0 -0
  380. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/ratio_reference-dune-dark.png +0 -0
  381. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/ratio_reference-dune.png +0 -0
  382. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/ratio_reference.png +0 -0
  383. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/robust_range-dark.png +0 -0
  384. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/robust_range.png +0 -0
  385. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/stack_data-dark.png +0 -0
  386. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/stack_data.png +0 -0
  387. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/systematics-dark.png +0 -0
  388. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/systematics.png +0 -0
  389. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/variable_bins-dark.png +0 -0
  390. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/variable_bins.png +0 -0
  391. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/xbreak_ratio-dark.png +0 -0
  392. {rootfig-0.7.0 → rootfig-0.7.1}/docs/images/gallery/xbreak_ratio.png +0 -0
  393. {rootfig-0.7.0 → rootfig-0.7.1}/docs/index.md +0 -0
  394. {rootfig-0.7.0 → rootfig-0.7.1}/docs/quickstart.md +0 -0
  395. {rootfig-0.7.0 → rootfig-0.7.1}/docs/stylesheets/gallery.css +0 -0
  396. {rootfig-0.7.0 → rootfig-0.7.1}/examples/gallery/__init__.py +0 -0
  397. {rootfig-0.7.0 → rootfig-0.7.1}/examples/gallery/__main__.py +0 -0
  398. {rootfig-0.7.0 → rootfig-0.7.1}/examples/gallery/data.py +0 -0
  399. {rootfig-0.7.0 → rootfig-0.7.1}/examples/gallery/registry.py +0 -0
  400. {rootfig-0.7.0 → rootfig-0.7.1}/mkdocs.yml +0 -0
  401. {rootfig-0.7.0 → rootfig-0.7.1}/pyproject.toml +0 -0
  402. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/_mapping.py +0 -0
  403. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/_storage.py +0 -0
  404. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/_typing.py +0 -0
  405. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/api/__init__.py +0 -0
  406. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/api/_common.py +0 -0
  407. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/api/_discover.py +0 -0
  408. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/api/_hists.py +0 -0
  409. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/api/batch.py +0 -0
  410. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/api/data.py +0 -0
  411. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/api/tables.py +0 -0
  412. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/errors.py +0 -0
  413. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/expressions/__init__.py +0 -0
  414. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/expressions/functions.py +0 -0
  415. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/expressions/parser.py +0 -0
  416. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/histograms/__init__.py +0 -0
  417. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/histograms/build.py +0 -0
  418. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/histograms/cutflow.py +0 -0
  419. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/histograms/efficiency.py +0 -0
  420. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/histograms/groups.py +0 -0
  421. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/histograms/normalize.py +0 -0
  422. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/histograms/pipeline.py +0 -0
  423. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/histograms/prefetch.py +0 -0
  424. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/histograms/ratio.py +0 -0
  425. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/histograms/sources.py +0 -0
  426. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/histograms/stats.py +0 -0
  427. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/histograms/stored.py +0 -0
  428. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/histograms/systematics.py +0 -0
  429. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/io/__init__.py +0 -0
  430. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/io/cache.py +0 -0
  431. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/io/objects.py +0 -0
  432. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/io/schema.py +0 -0
  433. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/io/sources.py +0 -0
  434. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/model/__init__.py +0 -0
  435. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/model/binning.py +0 -0
  436. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/model/cuts.py +0 -0
  437. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/model/filenames.py +0 -0
  438. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/model/groups.py +0 -0
  439. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/model/inputs.py +0 -0
  440. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/model/samples.py +0 -0
  441. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/model/style.py +0 -0
  442. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/model/systematics.py +0 -0
  443. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/model/units.py +0 -0
  444. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/model/variables.py +0 -0
  445. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/plotting/annotations.py +0 -0
  446. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/plotting/correlation.py +0 -0
  447. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/plotting/hist1d.py +0 -0
  448. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/plotting/hist2d.py +0 -0
  449. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/plotting/points.py +0 -0
  450. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/plotting/ratio.py +0 -0
  451. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/plotting/result.py +0 -0
  452. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/py.typed +0 -0
  453. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/selection/__init__.py +0 -0
  454. {rootfig-0.7.0 → rootfig-0.7.1}/src/rootfig/selection/columns.py +0 -0
  455. {rootfig-0.7.0 → rootfig-0.7.1}/tests/conftest.py +0 -0
  456. {rootfig-0.7.0 → rootfig-0.7.1}/tests/data/split_collection.root +0 -0
  457. {rootfig-0.7.0 → rootfig-0.7.1}/tests/test_batch.py +0 -0
  458. {rootfig-0.7.0 → rootfig-0.7.1}/tests/test_discovery.py +0 -0
  459. {rootfig-0.7.0 → rootfig-0.7.1}/tests/test_expressions.py +0 -0
  460. {rootfig-0.7.0 → rootfig-0.7.1}/tests/test_gallery.py +0 -0
  461. {rootfig-0.7.0 → rootfig-0.7.1}/tests/test_histograms.py +0 -0
  462. {rootfig-0.7.0 → rootfig-0.7.1}/tests/test_io.py +0 -0
  463. {rootfig-0.7.0 → rootfig-0.7.1}/tests/test_model.py +0 -0
  464. {rootfig-0.7.0 → rootfig-0.7.1}/tests/test_selection.py +0 -0
  465. {rootfig-0.7.0 → rootfig-0.7.1}/tests/test_tutorials.py +0 -0
  466. {rootfig-0.7.0 → rootfig-0.7.1}/tests/type_checks/batch.py +0 -0
  467. {rootfig-0.7.0 → rootfig-0.7.1}/tests/type_checks/groups.py +0 -0
  468. {rootfig-0.7.0 → rootfig-0.7.1}/tests/type_checks/systematics.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: rootfig
3
- Version: 0.7.0
3
+ Version: 0.7.1
4
4
  Summary: Publication-quality figures straight from ROOT trees, without ROOT: uproot + Awkward + hist + mplhep with a TTree::Draw-like API.
5
5
  Project-URL: Homepage, https://github.com/jbeirer/rootfig
6
6
  Project-URL: Documentation, https://jbeirer.github.io/rootfig/
@@ -268,11 +268,17 @@ included; its unused cells stay empty:
268
268
  book.save_pdf("overview.pdf", layout=(2, 3))
269
269
  ```
270
270
 
271
- A page is as large as the grid of figures the plots would have on their own, so
272
- a plot in a cell keeps its usual size: every cell of the document is as large as
273
- the largest figure any plot of the book would draw alone (a ratio panel makes it
274
- taller, a `Style` with a `figsize` sets its own). `figsize=` on `save_pdf()`
275
- sets the size of the whole page instead:
271
+ A page is as large as the grid of figures the plots would have on their own,
272
+ plus a narrow gap between neighbouring cells, so a plot in a cell keeps its
273
+ usual size: every cell of the document is as large as the largest figure any
274
+ plot of the book would draw alone (a ratio panel makes it taller, a `Style` with
275
+ a `figsize` sets its own). A cell is laid out exactly as a figure of its size,
276
+ whatever the grid and the style: the gap above a ratio panel, the room for
277
+ labels, the legend and the y limits are the same on a `1 × 1` page as on an
278
+ `8 × 8` one. The plots of a page are finished together, so a dense page takes
279
+ about as long as the same plots on pages of their own. `figsize=` on
280
+ `save_pdf()` sets the size of the whole page instead, the cells sharing what the
281
+ gaps leave; one too small for the grid is refused before anything is drawn:
276
282
 
277
283
  ```python
278
284
  book.save_pdf("overview.pdf", figsize=(16, 10))
@@ -306,12 +306,22 @@ range avoids range inference.
306
306
  `Variable`'s `log` flag (`plot2d`, `efficiency` and `profile` do the same for
307
307
  their variables); `True`/`False` override it.
308
308
  - `xlabel`, `ylabel`, `unit`, `title`. The title sits above the axes, where
309
- the CMS-style label is also drawn; with such a style prefer `text=`.
309
+ the CMS-style label is also drawn; with such a style prefer `text=`. The x
310
+ label ends at the right end of the axis, where matplotlib also puts the
311
+ axis' offset text (`×10⁻⁶` for small values); when both are shown the label
312
+ moves left of it, or below it where the axis is too short for both side by
313
+ side, also with `axes.formatter.useoffset` off, which drops an additive offset
314
+ but still shows the order of magnitude. On a figure rootfig makes the place is
315
+ chosen each time the figure is drawn, so a resized figure keeps the label clear
316
+ for its new size; on axes passed with `ax=` the label goes below the offset
317
+ text, which holds at any size. A `labelpad` or transform set on the label after
318
+ plotting is kept, and the label is kept clear starting from it.
310
319
  - Automatic y limits leave room for the legend, the experiment label, the
311
320
  statistics box and `text` lines: a small fixed margin is added above the
312
321
  tallest bin, and the upper limit is then raised until none of them covers a
313
- histogram (the legend picks a free upper corner). Room is only made for
314
- what is actually drawn, so a plot without annotations keeps the margin.
322
+ histogram (the legend picks a free upper corner of its axes). Room is only
323
+ made for what is actually drawn, so a plot without annotations keeps the
324
+ margin. It is measured on the figure as laid out, as it is shown and saved.
315
325
  A `ylim` with an explicit upper value switches this off.
316
326
 
317
327
  ## Legend, labels, text and statistics
@@ -339,6 +349,8 @@ range avoids range inference.
339
349
  wide, the luminosity gets a separate line above the label. The luminosity of
340
350
  a broken x axis sits above the right end of the right segment. An explicit
341
351
  title is placed above these labels, preserving its font, alignment and padding.
352
+ - The experiment name and status share a baseline, including after resizing
353
+ the figure. `label_loc=2` and `3` explicitly put the status on a separate line.
342
354
  - `stats=True` adds entries, mean and standard deviation per sample below the
343
355
  legend (a location string moves it).
344
356
 
@@ -59,7 +59,7 @@ from rootfig.histograms import (
59
59
  from rootfig.model import Cut, Group, Sample, Style, Systematic, Variable, log_bins
60
60
  from rootfig.plotting import Plot, dark_theme, use_style
61
61
 
62
- __version__ = "0.7.0"
62
+ __version__ = "0.7.1"
63
63
 
64
64
  __all__ = [
65
65
  "ALL",
@@ -16,11 +16,12 @@ from typing import TYPE_CHECKING, Any, Protocol
16
16
 
17
17
  from matplotlib.colors import to_hex
18
18
 
19
- from rootfig.plotting import Plot, figure_size, style_context
19
+ from rootfig.plotting import Plot, figure_size, finishing_together, style_context
20
20
  from rootfig.plotting.figure import close_figures_since, open_figure_ids
21
21
  from rootfig.plotting.pages import (
22
22
  Page,
23
23
  background_color,
24
+ cell_room,
24
25
  make_page,
25
26
  multipage_pdf,
26
27
  page_size,
@@ -81,8 +82,15 @@ def page_sizes(
81
82
 
82
83
  An explicit ``figsize`` is the size of each page, and the styles of the tasks
83
84
  are left alone; otherwise a page is its grid of cells of :func:`cell_size`.
85
+
86
+ Raises
87
+ ------
88
+ ValueError
89
+ ``figsize`` leaves no room for the cells of a page's grid.
84
90
  """
85
91
  if figsize is not None:
92
+ for page in pages:
93
+ cell_room(figsize, page.grid)
86
94
  return [figsize] * len(pages)
87
95
  inches = cell_size(tasks)
88
96
  return [page_size(page.grid, inches) for page in pages]
@@ -149,13 +157,16 @@ def write_pdf(
149
157
  ``prepared`` yields the tasks in the order of ``tasks``, which ``pages`` split
150
158
  into consecutive runs; the tasks of a page are drawn in reading order into the
151
159
  cells of one figure of the size :func:`page_sizes` gives the page, created
152
- under the style of the page's first task. The document is written
160
+ under the style of the page's first task, and finished together once all are
161
+ drawn (:func:`~rootfig.plotting.finishing_together`), so a page is laid out a
162
+ fixed number of times however many plots it holds. The document is written
153
163
  through :func:`~rootfig.plotting.pages.multipage_pdf`: an existing ``target``
154
164
  is replaced only once every page is written. A ``metadata`` among
155
165
  ``savefig_kwargs`` describes the document, not a page, so it goes to the
156
- writer; the rest is passed to every :meth:`PdfPages.savefig`. A failing task
157
- raises with its note (see :meth:`PlotBook.plots`), a failing write with a note
158
- naming the page and the file; the page figure is closed either way.
166
+ writer; the rest is passed to every :meth:`PdfPages.savefig`. Errors during
167
+ drawing, deferred finishing or writing carry a note naming the page and file.
168
+ Preparation and drawing errors also retain their task note (see
169
+ :meth:`PlotBook.plots`); the page figure is closed either way.
159
170
  """
160
171
  kwargs = {"facecolor": "auto", "edgecolor": "auto", **savefig_kwargs}
161
172
  metadata = kwargs.pop("metadata", None)
@@ -170,8 +181,13 @@ def write_pdf(
170
181
  try:
171
182
  with task_note(first, f"opening PDF page {number} for"):
172
183
  fig, cells = make_page(size, page.grid, style=first.kwargs.get("style"))
173
- for cell in cells[: page.count]:
174
- next(prepared).draw(cell=cell)
184
+ try:
185
+ with finishing_together(fig):
186
+ for cell in cells[: page.count]:
187
+ next(prepared).draw(cell=cell)
188
+ except Exception as exc:
189
+ exc.add_note(f"while rendering PlotBook PDF page {number} to {str(target)!r}")
190
+ raise
175
191
  try:
176
192
  pdf.savefig(fig, **kwargs)
177
193
  except Exception as exc: