Skip to content

Commit 4520cba

Browse files
committed
Fix units example
1 parent 47cd022 commit 4520cba

File tree

3 files changed

+21
-6
lines changed

3 files changed

+21
-6
lines changed

data_prototype/artist.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,13 +265,13 @@ def axes(self, ax):
265265
),
266266
FuncEdge.from_func(
267267
"xunits",
268-
lambda: self._axes.xunits,
268+
lambda: self._axes.xaxis.units,
269269
{},
270270
{"xunits": Desc((), "units")},
271271
),
272272
FuncEdge.from_func(
273273
"yunits",
274-
lambda: self._axes.yunits,
274+
lambda: self._axes.yaxis.units,
275275
{},
276276
{"yunits": Desc((), "units")},
277277
),

data_prototype/containers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ def __init__(self, coordinates: dict[str, str] | None = None, /, **data):
8989
self._desc = {
9090
k: (
9191
Desc(v.shape, coordinates.get(k, "auto"))
92-
if isinstance(v, np.ndarray)
93-
else Desc(())
92+
if hasattr(v, "shape")
93+
else Desc((), coordinates.get(k, "auto"))
9494
)
9595
for k, v in data.items()
9696
}

examples/units.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from data_prototype.artist import CompatibilityAxes
1616
from data_prototype.containers import ArrayContainer
1717
from data_prototype.conversion_edge import FuncEdge
18+
from data_prototype.description import Desc
1819

1920
from data_prototype.line import Line
2021

@@ -44,9 +45,23 @@
4445
ax.set_xlim(-0.5, 7)
4546
ax.set_ylim(0, 5)
4647

47-
xconv = FuncEdge.from_func("xconv", lambda x, xunits: x.to(xunits), "units", "data")
48-
yconv = FuncEdge.from_func("yconv", lambda y, yunits: y.to(yunits), "units", "data")
48+
scalar = Desc((), "units")
49+
unit_vector = Desc(("N",), "units")
50+
51+
xconv = FuncEdge.from_func(
52+
"xconv",
53+
lambda x, xunits: x.to(xunits),
54+
{"x": unit_vector, "xunits": scalar},
55+
{"x": Desc(("N",), "data")},
56+
)
57+
yconv = FuncEdge.from_func(
58+
"yconv",
59+
lambda y, yunits: y.to(yunits),
60+
{"y": unit_vector, "yunits": scalar},
61+
{"y": Desc(("N",), "data")},
62+
)
4963
lw = Line(cont, [xconv, yconv])
64+
5065
ax.add_artist(lw)
5166
nax.xaxis.set_units(ureg.feet)
5267
nax.yaxis.set_units(ureg.m)

0 commit comments

Comments
 (0)