ggplot2-python 4.0.2.9000.post5__tar.gz → 4.0.2.9000.post6__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.
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/PKG-INFO +1 -1
- ggplot2_python-4.0.2.9000.post6/Rplots.pdf +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/__init__.py +7 -4
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/_guide_axis.py +12 -1
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/coord.py +1091 -116
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/geom.py +592 -82
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/guide.py +356 -86
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/plot_render.py +67 -10
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/scale.py +82 -15
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/theme_defaults.py +18 -2
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/theme_elements.py +55 -5
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/pyproject.toml +1 -1
- ggplot2_python-4.0.2.9000.post6/tools/r_parity.py +97 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/.gitattributes +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/.gitignore +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/LICENSE +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/README.md +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/_compat.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/_defaults.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/_env.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/_guide_colourbar.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/_guide_legend.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/_make_constructor.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/_plugins.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/_utils.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/aes.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/annotation.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/autoplot.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/coords/__init__.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/datasets.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/draw_key.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/extension/__init__.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/facet.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/fortify.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/geoms/__init__.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/ggproto.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/guides/__init__.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/labeller.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/labels.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/layer.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/layout.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/limits.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/plot.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/position.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/protocols.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/py.typed +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/qplot.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/resources/diamonds.csv +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/resources/economics.csv +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/resources/economics_long.csv +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/resources/faithfuld.csv +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/resources/luv_colours.csv +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/resources/midwest.csv +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/resources/mpg.csv +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/resources/msleep.csv +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/resources/presidential.csv +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/resources/seals.csv +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/resources/txhousing.csv +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/save.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/scales/__init__.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/stat.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/stats/__init__.py +0 -0
- {ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/theme.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ggplot2-python
|
|
3
|
-
Version: 4.0.2.9000.
|
|
3
|
+
Version: 4.0.2.9000.post6
|
|
4
4
|
Summary: Python port of the R ggplot2 package (tracks R ggplot2 4.0.2.9000)
|
|
5
5
|
Project-URL: Homepage, https://github.com/Bio-Babel/ggplot2-python
|
|
6
6
|
Project-URL: Repository, https://github.com/Bio-Babel/ggplot2-python
|
|
Binary file
|
|
@@ -7,7 +7,7 @@ approach to creating statistical visualizations.
|
|
|
7
7
|
|
|
8
8
|
from __future__ import annotations
|
|
9
9
|
|
|
10
|
-
__version__ = "4.0.2.9000.
|
|
10
|
+
__version__ = "4.0.2.9000.post6"
|
|
11
11
|
__r_commit__ = "c02c05a"
|
|
12
12
|
|
|
13
13
|
# ---------------------------------------------------------------------------
|
|
@@ -123,6 +123,7 @@ from ggplot2_py.geom import (
|
|
|
123
123
|
GeomRaster,
|
|
124
124
|
GeomText,
|
|
125
125
|
GeomLabel,
|
|
126
|
+
GeomAbsText,
|
|
126
127
|
GeomBoxplot,
|
|
127
128
|
GeomViolin,
|
|
128
129
|
GeomDotplot,
|
|
@@ -173,6 +174,7 @@ from ggplot2_py.geom import (
|
|
|
173
174
|
geom_raster,
|
|
174
175
|
geom_text,
|
|
175
176
|
geom_label,
|
|
177
|
+
geom_abs_text,
|
|
176
178
|
geom_boxplot,
|
|
177
179
|
geom_violin,
|
|
178
180
|
geom_dotplot,
|
|
@@ -566,6 +568,7 @@ from ggplot2_py.guide import (
|
|
|
566
568
|
is_guide,
|
|
567
569
|
is_guides,
|
|
568
570
|
new_guide,
|
|
571
|
+
register_guide,
|
|
569
572
|
old_guide,
|
|
570
573
|
guide_geom,
|
|
571
574
|
guide_train,
|
|
@@ -764,7 +767,7 @@ __all__ = [
|
|
|
764
767
|
# Geom classes
|
|
765
768
|
"Geom", "GeomPoint", "GeomPath", "GeomLine", "GeomStep",
|
|
766
769
|
"GeomBar", "GeomCol", "GeomRect", "GeomTile", "GeomRaster",
|
|
767
|
-
"GeomText", "GeomLabel", "GeomBoxplot", "GeomViolin", "GeomDotplot",
|
|
770
|
+
"GeomText", "GeomLabel", "GeomAbsText", "GeomBoxplot", "GeomViolin", "GeomDotplot",
|
|
768
771
|
"GeomRibbon", "GeomArea", "GeomSmooth", "GeomPolygon",
|
|
769
772
|
"GeomErrorbar", "GeomErrorbarh", "GeomCrossbar", "GeomLinerange", "GeomPointrange",
|
|
770
773
|
"GeomSegment", "GeomCurve", "GeomSpoke",
|
|
@@ -775,7 +778,7 @@ __all__ = [
|
|
|
775
778
|
# Geom constructors
|
|
776
779
|
"geom_point", "geom_path", "geom_line", "geom_step",
|
|
777
780
|
"geom_bar", "geom_col", "geom_rect", "geom_tile", "geom_raster",
|
|
778
|
-
"geom_text", "geom_label", "geom_boxplot", "geom_violin", "geom_dotplot",
|
|
781
|
+
"geom_text", "geom_label", "geom_abs_text", "geom_boxplot", "geom_violin", "geom_dotplot",
|
|
779
782
|
"geom_ribbon", "geom_area", "geom_smooth", "geom_polygon",
|
|
780
783
|
"geom_errorbar", "geom_errorbarh", "geom_crossbar", "geom_linerange", "geom_pointrange",
|
|
781
784
|
"geom_segment", "geom_curve", "geom_spoke",
|
|
@@ -905,7 +908,7 @@ __all__ = [
|
|
|
905
908
|
# Guides
|
|
906
909
|
"Guide", "GuideAxis", "GuideAxisLogticks", "GuideAxisStack",
|
|
907
910
|
"GuideAxisTheta", "GuideBins", "GuideColourbar", "GuideColoursteps",
|
|
908
|
-
"GuideCustom", "GuideLegend", "GuideNone",
|
|
911
|
+
"GuideCustom", "GuideLegend", "GuideNone", "register_guide",
|
|
909
912
|
"guide_axis", "guide_legend", "guide_colourbar", "guide_colorbar",
|
|
910
913
|
"guide_old_colourbar", "guide_old_colorbar",
|
|
911
914
|
"guide_coloursteps", "guide_colorsteps", "guide_bins",
|
{ggplot2_python-4.0.2.9000.post5 → ggplot2_python-4.0.2.9000.post6}/ggplot2_py/_guide_axis.py
RENAMED
|
@@ -254,6 +254,15 @@ def draw_axis(
|
|
|
254
254
|
minor_tick_length = tick_length * 0.5 # R: axis.minor.ticks.length = rel(0.75)
|
|
255
255
|
|
|
256
256
|
# --- Build axis line (R: GuideAxis$build_decor, lines 313-322) -----
|
|
257
|
+
# R: the line is ``element_grob(elements$line, ...)``; when ``axis.line``
|
|
258
|
+
# is ``element_blank()`` (the default in theme_grey/theme_bw) this yields a
|
|
259
|
+
# zeroGrob — i.e. *no* line. The previous fallback dict drew a spurious
|
|
260
|
+
# grey20 line regardless, which is invisible at a panel edge but crosses
|
|
261
|
+
# the interior for a rotated radial axis. Honour the blank element.
|
|
262
|
+
from ggplot2_py.theme_elements import calc_element as _calc_el
|
|
263
|
+
_raw_line_el = _calc_el(f"axis.line.{aes}", theme)
|
|
264
|
+
_line_blank = _raw_line_el is None or _is_blank(_raw_line_el)
|
|
265
|
+
|
|
257
266
|
if cap == "none" or len(breaks) == 0:
|
|
258
267
|
line_start, line_end = 0.0, 1.0
|
|
259
268
|
else:
|
|
@@ -261,7 +270,9 @@ def draw_axis(
|
|
|
261
270
|
line_end = max(breaks) if cap in ("both", "upper") else 1.0
|
|
262
271
|
|
|
263
272
|
line_lwd = float(line_el.get("linewidth", 0.5)) * _PT
|
|
264
|
-
if
|
|
273
|
+
if _line_blank:
|
|
274
|
+
axis_line = null_grob(name="axis.line")
|
|
275
|
+
elif is_horizontal:
|
|
265
276
|
axis_line = segments_grob(
|
|
266
277
|
x0=[line_start], y0=[orth_side],
|
|
267
278
|
x1=[line_end], y1=[orth_side],
|