plot3 0.6.0__tar.gz → 0.6.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 (81) hide show
  1. {plot3-0.6.0 → plot3-0.6.1}/PKG-INFO +1 -1
  2. plot3-0.6.1/plot3/__version__.py +1 -0
  3. {plot3-0.6.0 → plot3-0.6.1}/plot3/build.py +2 -1
  4. {plot3-0.6.0 → plot3-0.6.1}/plot3/static.py +3 -1
  5. {plot3-0.6.0 → plot3-0.6.1}/plot3/themes.py +2 -2
  6. {plot3-0.6.0 → plot3-0.6.1}/plot3.egg-info/PKG-INFO +1 -1
  7. {plot3-0.6.0 → plot3-0.6.1}/tests/test_facets_compose.py +15 -0
  8. plot3-0.6.0/plot3/__version__.py +0 -1
  9. {plot3-0.6.0 → plot3-0.6.1}/LICENSE +0 -0
  10. {plot3-0.6.0 → plot3-0.6.1}/README.md +0 -0
  11. {plot3-0.6.0 → plot3-0.6.1}/plot3/__init__.py +0 -0
  12. {plot3-0.6.0 → plot3-0.6.1}/plot3/aesexpr.py +0 -0
  13. {plot3-0.6.0 → plot3-0.6.1}/plot3/calculus.py +0 -0
  14. {plot3-0.6.0 → plot3-0.6.1}/plot3/compose.py +0 -0
  15. {plot3-0.6.0 → plot3-0.6.1}/plot3/contour.py +0 -0
  16. {plot3-0.6.0 → plot3-0.6.1}/plot3/craft.py +0 -0
  17. {plot3-0.6.0 → plot3-0.6.1}/plot3/encode.py +0 -0
  18. {plot3-0.6.0 → plot3-0.6.1}/plot3/expr.py +0 -0
  19. {plot3-0.6.0 → plot3-0.6.1}/plot3/flip.py +0 -0
  20. {plot3-0.6.0 → plot3-0.6.1}/plot3/function.py +0 -0
  21. {plot3-0.6.0 → plot3-0.6.1}/plot3/geoms.py +0 -0
  22. {plot3-0.6.0 → plot3-0.6.1}/plot3/ggplot.py +0 -0
  23. {plot3-0.6.0 → plot3-0.6.1}/plot3/io.py +0 -0
  24. {plot3-0.6.0 → plot3-0.6.1}/plot3/jupyter.py +0 -0
  25. {plot3-0.6.0 → plot3-0.6.1}/plot3/latexin.py +0 -0
  26. {plot3-0.6.0 → plot3-0.6.1}/plot3/masking.py +0 -0
  27. {plot3-0.6.0 → plot3-0.6.1}/plot3/mathtext.py +0 -0
  28. {plot3-0.6.0 → plot3-0.6.1}/plot3/payload.py +0 -0
  29. {plot3-0.6.0 → plot3-0.6.1}/plot3/remote.py +0 -0
  30. {plot3-0.6.0 → plot3-0.6.1}/plot3/scales.py +0 -0
  31. {plot3-0.6.0 → plot3-0.6.1}/plot3/scaling.py +0 -0
  32. {plot3-0.6.0 → plot3-0.6.1}/plot3/special.py +0 -0
  33. {plot3-0.6.0 → plot3-0.6.1}/plot3/stat2d.py +0 -0
  34. {plot3-0.6.0 → plot3-0.6.1}/plot3/stats3d.py +0 -0
  35. {plot3-0.6.0 → plot3-0.6.1}/plot3/table.py +0 -0
  36. {plot3-0.6.0 → plot3-0.6.1}/plot3/viewer.py +0 -0
  37. {plot3-0.6.0 → plot3-0.6.1}/plot3.egg-info/SOURCES.txt +0 -0
  38. {plot3-0.6.0 → plot3-0.6.1}/plot3.egg-info/dependency_links.txt +0 -0
  39. {plot3-0.6.0 → plot3-0.6.1}/plot3.egg-info/requires.txt +0 -0
  40. {plot3-0.6.0 → plot3-0.6.1}/plot3.egg-info/top_level.txt +0 -0
  41. {plot3-0.6.0 → plot3-0.6.1}/pyproject.toml +0 -0
  42. {plot3-0.6.0 → plot3-0.6.1}/setup.cfg +0 -0
  43. {plot3-0.6.0 → plot3-0.6.1}/tests/test_2d_density.py +0 -0
  44. {plot3-0.6.0 → plot3-0.6.1}/tests/test_3d.py +0 -0
  45. {plot3-0.6.0 → plot3-0.6.1}/tests/test_animation.py +0 -0
  46. {plot3-0.6.0 → plot3-0.6.1}/tests/test_annotate.py +0 -0
  47. {plot3-0.6.0 → plot3-0.6.1}/tests/test_api_public.py +0 -0
  48. {plot3-0.6.0 → plot3-0.6.1}/tests/test_array_backend.py +0 -0
  49. {plot3-0.6.0 → plot3-0.6.1}/tests/test_arrow.py +0 -0
  50. {plot3-0.6.0 → plot3-0.6.1}/tests/test_build_contract.py +0 -0
  51. {plot3-0.6.0 → plot3-0.6.1}/tests/test_contour.py +0 -0
  52. {plot3-0.6.0 → plot3-0.6.1}/tests/test_everyday_ggplot2.py +0 -0
  53. {plot3-0.6.0 → plot3-0.6.1}/tests/test_expr.py +0 -0
  54. {plot3-0.6.0 → plot3-0.6.1}/tests/test_geom_function.py +0 -0
  55. {plot3-0.6.0 → plot3-0.6.1}/tests/test_geoms_ds.py +0 -0
  56. {plot3-0.6.0 → plot3-0.6.1}/tests/test_ggplot2_extras2.py +0 -0
  57. {plot3-0.6.0 → plot3-0.6.1}/tests/test_ggplot2_parity.py +0 -0
  58. {plot3-0.6.0 → plot3-0.6.1}/tests/test_ggplot_extras.py +0 -0
  59. {plot3-0.6.0 → plot3-0.6.1}/tests/test_grammar.py +0 -0
  60. {plot3-0.6.0 → plot3-0.6.1}/tests/test_latex_input.py +0 -0
  61. {plot3-0.6.0 → plot3-0.6.1}/tests/test_lidar_scene.py +0 -0
  62. {plot3-0.6.0 → plot3-0.6.1}/tests/test_masking.py +0 -0
  63. {plot3-0.6.0 → plot3-0.6.1}/tests/test_math_layers.py +0 -0
  64. {plot3-0.6.0 → plot3-0.6.1}/tests/test_mathtext.py +0 -0
  65. {plot3-0.6.0 → plot3-0.6.1}/tests/test_payload.py +0 -0
  66. {plot3-0.6.0 → plot3-0.6.1}/tests/test_payload_display.py +0 -0
  67. {plot3-0.6.0 → plot3-0.6.1}/tests/test_point_cloud.py +0 -0
  68. {plot3-0.6.0 → plot3-0.6.1}/tests/test_r_oracle_parity.py +0 -0
  69. {plot3-0.6.0 → plot3-0.6.1}/tests/test_readme.py +0 -0
  70. {plot3-0.6.0 → plot3-0.6.1}/tests/test_remote_bridge.py +0 -0
  71. {plot3-0.6.0 → plot3-0.6.1}/tests/test_review_fixes.py +0 -0
  72. {plot3-0.6.0 → plot3-0.6.1}/tests/test_save_menu.py +0 -0
  73. {plot3-0.6.0 → plot3-0.6.1}/tests/test_scales_api.py +0 -0
  74. {plot3-0.6.0 → plot3-0.6.1}/tests/test_scales_themes.py +0 -0
  75. {plot3-0.6.0 → plot3-0.6.1}/tests/test_special.py +0 -0
  76. {plot3-0.6.0 → plot3-0.6.1}/tests/test_stat2d.py +0 -0
  77. {plot3-0.6.0 → plot3-0.6.1}/tests/test_static_save.py +0 -0
  78. {plot3-0.6.0 → plot3-0.6.1}/tests/test_stats_semantic.py +0 -0
  79. {plot3-0.6.0 → plot3-0.6.1}/tests/test_step3_geoms.py +0 -0
  80. {plot3-0.6.0 → plot3-0.6.1}/tests/test_table_backends.py +0 -0
  81. {plot3-0.6.0 → plot3-0.6.1}/tests/test_titles_theme.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plot3
3
- Version: 0.6.0
3
+ Version: 0.6.1
4
4
  Summary: ggplot2 grammar of graphics for Python: interactive WebGL figures and journal-ready PNG, SVG, and PDF
5
5
  Author: Rigoberto Leyva Salmeron
6
6
  License-Expression: MIT
@@ -0,0 +1 @@
1
+ __version__ = "0.6.1"
@@ -3953,8 +3953,9 @@ html,body{{margin:0;height:100%;background:{theme["surface"]};color:{theme["ink"
3953
3953
  border:1px solid {theme["axis"]};border-radius:6px;overflow:hidden;
3954
3954
  background:{theme["surface"]}}}
3955
3955
  .plab{{padding:4px 8px;font-size:11px;color:{theme["ink2"]};
3956
+ background:{theme.get("strip") or "transparent"};
3956
3957
  border-bottom:1px solid {theme["grid"]}}}
3957
- .cstrip,.rstrip{{background:{theme["grid"]};color:{theme["ink2"]};font-size:11px;
3958
+ .cstrip,.rstrip{{background:{theme.get("strip") or theme["grid"]};color:{theme["ink2"]};font-size:11px;
3958
3959
  font-weight:600;display:flex;align-items:center;justify-content:center;border-radius:4px}}
3959
3960
  .rstrip span{{writing-mode:vertical-rl}}
3960
3961
  .panel iframe{{flex:1;width:100%;border:0;background:{theme["surface"]}}}
@@ -650,7 +650,9 @@ def _draw_facets(panels, layout, first_spec, theme, width, height, base_pt, comm
650
650
  0, 0, width, height, commands,
651
651
  )
652
652
  pad = 8.0
653
- strip_bg = theme.get("grid") or "#1c2742"
653
+ # ggplot2's facet strips are grey85 in theme_grey and theme_bw; other
654
+ # themes fall back to the grid colour.
655
+ strip_bg = theme.get("strip") or theme.get("grid") or "#1c2742"
654
656
  ink2 = theme.get("ink2") or theme.get("ink") or "#ffffff"
655
657
  raw_labs = first_spec.get("labs") or {}
656
658
  x_title = _with_frame(raw_labs.get("x") or "", label)
@@ -53,7 +53,7 @@ _THEMES = {
53
53
  "bw": dict(
54
54
  surface="#ffffff", ink="#000000", ink2="#222222", muted="#4d4d4d",
55
55
  grid="#ebebeb", axis="#333333", cat=_CAT_LIGHT, seq=_SEQ,
56
- frame="box",
56
+ frame="box", strip="#d9d9d9",
57
57
  ),
58
58
  # ggplot2 theme_classic: white page, no grid, black axis lines.
59
59
  "classic": dict(
@@ -78,7 +78,7 @@ _THEMES = {
78
78
  "grey": dict(
79
79
  surface="#ffffff", panel="#ebebeb", ink="#000000", ink2="#000000",
80
80
  muted="#4d4d4d", grid="#ffffff", axis="#ebebeb", cat=_CAT_LIGHT, seq=_SEQ,
81
- frame="none",
81
+ frame="none", strip="#d9d9d9",
82
82
  ),
83
83
  # ggplot2 theme_linedraw: white panel, thin dark grid, black border.
84
84
  "linedraw": dict(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plot3
3
- Version: 0.6.0
3
+ Version: 0.6.1
4
4
  Summary: ggplot2 grammar of graphics for Python: interactive WebGL figures and journal-ready PNG, SVG, and PDF
5
5
  Author: Rigoberto Leyva Salmeron
6
6
  License-Expression: MIT
@@ -209,3 +209,18 @@ def test_facet_legend_position_none_hides_the_figure_legend(tmp_path):
209
209
  shown = tmp_path / "shown.svg"
210
210
  ggsave(str(shown), ggplot(_facet_frame(), aes(x="x", y="y", colour="g")) + geom_point() + facet_wrap("g"))
211
211
  assert shown.read_text().count(">a<") > out.read_text().count(">a<") # legend key too
212
+
213
+
214
+ def test_facet_strips_are_grey85_in_ggplot2_themes(tmp_path):
215
+ # ggplot2 theme_grey / theme_bw: strips are grey85, not the grid colour
216
+ # (white in theme_grey, which made them invisible).
217
+ from plot3 import aes, facet_wrap, geom_point, ggplot, ggsave, theme_dark, theme_grey
218
+ from plot3.build import build_doc
219
+
220
+ base = ggplot(_facet_frame(), aes(x="x", y="y")) + geom_point() + facet_wrap("g")
221
+ for theme, colour in ((theme_grey(), "#d9d9d9"), (None, "#d9d9d9"), (theme_dark(), "#1c2742")):
222
+ fig = base + theme if theme is not None else base
223
+ out = tmp_path / "f.svg"
224
+ ggsave(str(out), fig)
225
+ assert colour in out.read_text().lower()
226
+ assert "#d9d9d9" in build_doc(base + theme_grey()).lower()
@@ -1 +0,0 @@
1
- __version__ = "0.6.0"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes