Lbl
def Lbl(
*args, **kwds
):Enum where members are also (and must be) strings
[(array([0]), {}), (array([0, 1]),), (array([0, 1, 2]), {})]
{'A': (array([0]), {}), 'C': (array([0, 1, 2]),)}
VectorSpace of XarrayVectorArrays.
“Empty” XarrayVectorSpace with no coordinates (used, for example, for operators whose range is a scalar):
<xarray.DataArray 'XarrayVectorSpace' ()> Size: 8B array(0.)
array(0.)
XarrayVectorSpace from dictionary of coordinates:
<xarray.DataArray 'XarrayVectorSpace' (A: 3)> Size: 24B array([0., 0., 0.]) Coordinates: * A (A) int64 24B 1 2 3
array([0., 0., 0.])
array([1, 2, 3])
The DataArray is created lazily:
{'coord_data': {'A': ([1, 2, 3],)},
'_name': None,
'attrs': None,
'id': None,
'dims': ['A'],
'ndim': 1,
'shape': [3],
'size': 3,
'_locked': True,
'_array': <xarray.DataArray 'XarrayVectorSpace' (A: 3)> Size: 24B
array([0., 0., 0.])
Coordinates:
* A (A) int64 24B 1 2 3}
{'coord_data': {'A': ([1, 2, 3],)},
'_name': None,
'attrs': None,
'id': None,
'dims': ['A'],
'ndim': 1,
'shape': [3],
'size': 3,
'_locked': True,
'_array': <xarray.DataArray 'XarrayVectorSpace' (A: 3)> Size: 24B
array([0., 0., 0.])
Coordinates:
* A (A) int64 24B 1 2 3,
'coords': Coordinates:
* A (A) int64 24B 1 2 3}
<xarray.DataArray 'XarrayVectorSpace' (A: 3, B: 2)> Size: 48B
array([[0., 0.],
[0., 0.],
[0., 0.]])
Coordinates:
* A (A) int64 24B 1 2 3
* B (B) <U1 8B 'a' 'b'array([[0., 0.],
[0., 0.],
[0., 0.]])array([1, 2, 3])
array(['a', 'b'], dtype='<U1')
From a list of coordinates with attributes:
<xarray.DataArray 'XarrayVectorSpace' (A: 3, B: 2)> Size: 48B
array([[0., 0.],
[0., 0.],
[0., 0.]])
Coordinates:
* A (A) int64 24B 1 2 3
* B (B) <U1 8B 'a' 'b'array([[0., 0.],
[0., 0.],
[0., 0.]])array([1, 2, 3])
array(['a', 'b'], dtype='<U1')
From xarray Coordinates:
<xarray.DataArray 'XarrayVectorSpace' (A: 3, B: 2)> Size: 48B
array([[0., 0.],
[0., 0.],
[0., 0.]])
Coordinates:
* A (A) int64 24B 1 2 3
* B (B) <U1 8B 'a' 'b'array([[0., 0.],
[0., 0.],
[0., 0.]])array([1, 2, 3])
array(['a', 'b'], dtype='<U1')
From DataArray:
<xarray.DataArray 'C' (A: 3, B: 2)> Size: 48B
array([[0., 0.],
[0., 0.],
[0., 0.]])
Coordinates:
* A (A) int64 24B 1 2 3
* B (B) <U1 8B 'a' 'b'array([[0., 0.],
[0., 0.],
[0., 0.]])array([1, 2, 3])
array(['a', 'b'], dtype='<U1')
<xarray.DataArray 'boo' (A: 2, B: 3)> Size: 48B
array([[0., 0., 0.],
[0., 0., 0.]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[0., 0., 0.],
[0., 0., 0.]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray 'foo' (A: 2, B: 3, C: 2, D: 3)> Size: 288B
array([[[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]]],
[[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]]]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'
* C (C) int64 16B 1 2
* D (D) <U1 12B 'a' 'b' 'c'array([[[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]]],
[[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]]]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
XarrayVectorArrayImpl(
array([[[0, 1, 2], [3, 4, 5]]]),
XarrayVectorSpace(coord_data={A: ([1, 2],), B: (['a', 'b', 'c'],)}, name='boo'),
_data_dims=['C', 'A', 'B'],
_extended_coord_data={C: ([0],)})
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[0, 1, 2],
[3, 4, 5]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[0, 1, 2],
[3, 4, 5]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[0, 1, 2],
[3, 4, 5]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[0, 1, 2],
[3, 4, 5]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[0, 1, 2],
[3, 4, 5]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[0, 1, 2],
[3, 4, 5]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
Create a VectorArray with an extended dimension:
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[0, 1, 2],
[3, 4, 5]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[0, 1, 2],
[3, 4, 5]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[0, 1, 2],
[3, 4, 5]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[0, 1, 2],
[3, 4, 5]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
Create a VectorArray with no extended dimension:
<xarray.DataArray (A: 2, B: 3)> Size: 48B
array([[0, 1, 2],
[3, 4, 5]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[0, 1, 2],
[3, 4, 5]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (A: 2, B: 3)> Size: 48B
array([[0, 1, 2],
[3, 4, 5]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[0, 1, 2],
[3, 4, 5]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
Return an XarrayVectorArray in the vector space with data from the ndarray data.
<xarray.DataArray (A: 2, B: 3)> Size: 48B
array([[0, 1, 2],
[3, 4, 5]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[0, 1, 2],
[3, 4, 5]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[0, 1, 2],
[3, 4, 5]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[0, 1, 2],
[3, 4, 5]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
Return an XarrayVectorArray containing data from DataArray data.
<xarray.DataArray (A: 2, B: 3)> Size: 48B
array([[0, 1, 2],
[3, 4, 5]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[0, 1, 2],
[3, 4, 5]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (A: 2, B: 3)> Size: 48B
array([[0, 1, 2],
[3, 4, 5]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[0, 1, 2],
[3, 4, 5]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
An XarrayVectorArray from an array in space plus extended dimensions:
<xarray.DataArray (A: 2, B: 3, C: 1)> Size: 48B
array([[[0],
[1],
[2]],
[[3],
[4],
[5]]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'
* C (C) int64 8B 0array([[[0],
[1],
[2]],
[[3],
[4],
[5]]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
array([0])
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[0, 1, 2],
[3, 4, 5]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[0, 1, 2],
[3, 4, 5]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
Return XarrayVectorArray of null vectors in XarrayVectorSpace optionally extended to include supplied coordinates coords.
Return XarrayVectorArray of null vectors in XarrayVectorSpace optionally extended to include supplied coordinates coords.
<xarray.DataArray (A: 2, B: 3)> Size: 48B
array([[0., 0., 0.],
[0., 0., 0.]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[0., 0., 0.],
[0., 0., 0.]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[0., 0., 0.],
[0., 0., 0.]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[0., 0., 0.],
[0., 0., 0.]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
Return XarrayVectorArray of vectors with each element equal to one in XarrayVectorSpace optionally extended to include supplied coordinates coords.
<xarray.DataArray (A: 2, B: 3)> Size: 48B
array([[1., 1., 1.],
[1., 1., 1.]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[1., 1., 1.],
[1., 1., 1.]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[1., 1., 1.],
[1., 1., 1.]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[1., 1., 1.],
[1., 1., 1.]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
Create a |VectorArray| of vectors with random entries.
Supported random distributions::
'uniform': Uniform distribution in half-open interval
[`low`, `high`).
'normal': Normal (Gaussian) distribution with mean
`loc` and standard deviation `scale`.
Note that not all random distributions are necessarily implemented by all |VectorSpace| implementations.
count The number of vectors. distribution Random distribution to use ('uniform', 'normal'). low Lower bound for 'uniform' distribution (defaults to 0). high Upper bound for 'uniform' distribution (defaults to 1). loc Mean for 'normal' distribution (defaults to 0). scale Standard deviation for 'normal' distribution (defaults to 1). reserve Hint for the backend to which length the array will grow.
<xarray.DataArray (A: 2, B: 3)> Size: 48B
array([[0.77395605, 0.85859792, 0.09417735],
[0.43887844, 0.69736803, 0.97562235]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[0.77395605, 0.85859792, 0.09417735],
[0.43887844, 0.69736803, 0.97562235]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[0.77395605, 0.85859792, 0.09417735],
[0.43887844, 0.69736803, 0.97562235]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[0.77395605, 0.85859792, 0.09417735],
[0.43887844, 0.69736803, 0.97562235]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 2, A: 2, B: 3)> Size: 96B
array([[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]]])
Coordinates:
* C (C) int64 16B 0 1
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]]])array([0, 1])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 2, A (source): 2, B (source): 3)> Size: 96B
array([[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]]])
Coordinates:
* C (C) int64 16B 0 1
* A (source) (A (source)) int64 16B 1 2
* B (source) (B (source)) <U1 12B 'a' 'b' 'c'array([[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]]])array([0, 1])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
Return the single value stored in the array if there is only one value.
<xarray.DataArray (C: 2, A: 2, B: 3)> Size: 96B
array([[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]]])
Coordinates:
* C (C) int64 16B 0 1
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]]])array([0, 1])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
array([[0., 0.],
[0., 0.],
[0., 0.],
[0., 0.],
[0., 0.],
[0., 0.]])
Return (self.dim, len(self)) NumPy Array with the data stored in the array.
ensure_copy If False, modifying the returned |NumPy array| might alter the original |VectorArray|. If True always a copy of the array data is made.
This gives the same result as for a dimension-6 NumpyVectorSpace:
# #|export
# @patch
# def rename(
# self:XarrayVectorArray,
# new_name_or_name_dict=None,
# **names,
# ):
# """Rename the vector array and/or any of its dimensions."""
# vec = self.space.rename(new_name_or_name_dict, **names).from_xarray(self.array.rename(new_name_or_name_dict, **names))
# if isinstance(new_name_or_name_dict, str): vec.name = new_name_or_name_dict
# return vec<xarray.DataArray 'boo' (A: 2, B: 3)> Size: 48B
array([[0., 0., 0.],
[0., 0., 0.]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[0., 0., 0.],
[0., 0., 0.]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[1., 1., 1.],
[1., 1., 1.]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[1., 1., 1.],
[1., 1., 1.]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 96B
array([[[0.+2.j, 0.+2.j, 0.+2.j],
[0.+2.j, 0.+2.j, 0.+2.j]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[0.+2.j, 0.+2.j, 0.+2.j],
[0.+2.j, 0.+2.j, 0.+2.j]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[1., 1., 1.],
[1., 1., 1.]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[1., 1., 1.],
[1., 1., 1.]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (A: 2, B: 3)> Size: 48B
array([[1., 1., 1.],
[1., 1., 1.]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[1., 1., 1.],
[1., 1., 1.]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[3., 3., 3.],
[3., 3., 3.]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[3., 3., 3.],
[3., 3., 3.]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[1., 1., 1.],
[1., 1., 1.]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[1., 1., 1.],
[1., 1., 1.]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[3., 3., 3.],
[3., 3., 3.]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[3., 3., 3.],
[3., 3., 3.]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[1., 1., 1.],
[1., 1., 1.]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[1., 1., 1.],
[1., 1., 1.]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[2., 2., 2.],
[2., 2., 2.]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[2., 2., 2.],
[2., 2., 2.]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[2., 2., 2.],
[2., 2., 2.]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[2., 2., 2.],
[2., 2., 2.]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (B: 3)> Size: 24B array([0, 1, 2]) Coordinates: * B (B) <U1 12B 'a' 'b' 'c'
array([0, 1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[0., 1., 2.],
[0., 1., 2.]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[0., 1., 2.],
[0., 1., 2.]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (A: 2, B: 3, C: 2, D: 3)> Size: 288B
array([[[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]]],
[[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]]]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'
* C (C) int64 16B 1 2
* D (D) <U1 12B 'a' 'b' 'c'array([[[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]]],
[[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[0., 0., 0.]]]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (A: 2, B: 3)> Size: 48B
array([[1., 1., 1.],
[1., 1., 1.]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[1., 1., 1.],
[1., 1., 1.]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, B: 3)> Size: 24B array([[0, 1, 2]]) Coordinates: * C (C) int64 8B 0 * B (B) <U1 12B 'a' 'b' 'c'
array([[0, 1, 2]])
array([0])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (C: 1, A: 2, B: 3)> Size: 48B
array([[[0., 1., 2.],
[0., 1., 2.]]])
Coordinates:
* C (C) int64 8B 0
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[[0., 1., 2.],
[0., 1., 2.]]])array([0])
array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray (A: 2, B: 3)> Size: 96B
array([[0.+1.j, 0.+1.j, 0.+1.j],
[0.+1.j, 0.+1.j, 0.+1.j]])
Coordinates:
* A (A) int64 16B 1 2
* B (B) <U1 12B 'a' 'b' 'c'array([[0.+1.j, 0.+1.j, 0.+1.j],
[0.+1.j, 0.+1.j, 0.+1.j]])array([1, 2])
array(['a', 'b', 'c'], dtype='<U1')
<xarray.DataArray 'boo' (A: 1, B: 2)> Size: 16B array([[0., 0.]]) Coordinates: * A (A) int64 8B 1 * B (B) <U1 8B 'a' 'b'
array([[0., 0.]])
array([1])
array(['a', 'b'], dtype='<U1')
<xarray.DataArray (C: 2, A: 1, B: 2)> Size: 32B
array([[[1., 1.]],
[[1., 1.]]])
Coordinates:
* C (C) int64 16B 0 1
* A (A) int64 8B 1
* B (B) <U1 8B 'a' 'b'array([[[1., 1.]],
[[1., 1.]]])array([0, 1])
array([1])
array(['a', 'b'], dtype='<U1')
<xarray.DataArray (C: 2, A: 1, B: 2)> Size: 32B
array([[[1., 1.]],
[[1., 1.]]])
Coordinates:
* C (C) int64 16B 0 1
* A (A) int64 8B 1
* B (B) <U1 8B 'a' 'b'array([[[1., 1.]],
[[1., 1.]]])array([0, 1])
array([1])
array(['a', 'b'], dtype='<U1')
<xarray.DataArray (C: 2, A: 1, B: 2)> Size: 64B
array([[[1.+1.j, 1.+1.j]],
[[1.+1.j, 1.+1.j]]])
Coordinates:
* C (C) int64 16B 0 1
* A (A) int64 8B 1
* B (B) <U1 8B 'a' 'b'array([[[1.+1.j, 1.+1.j]],
[[1.+1.j, 1.+1.j]]])array([0, 1])
array([1])
array(['a', 'b'], dtype='<U1')
<xarray.DataArray (C: 2, A: 1, B: 2)> Size: 64B
array([[[1.-1.j, 1.-1.j]],
[[1.-1.j, 1.-1.j]]])
Coordinates:
* C (C) int64 16B 0 1
* A (A) int64 8B 1
* B (B) <U1 8B 'a' 'b'array([[[1.-1.j, 1.-1.j]],
[[1.-1.j, 1.-1.j]]])array([0, 1])
array([1])
array(['a', 'b'], dtype='<U1')
<xarray.DataArray (Part: 2, C: 2, A: 1, B: 2)> Size: 64B
array([[[[1., 1.]],
[[1., 1.]]],
[[[1., 1.]],
[[1., 1.]]]])
Coordinates:
* Part (Part) <U2 16B 'Re' 'Im'
* C (C) int64 16B 0 1
* A (A) int64 8B 1
* B (B) <U1 8B 'a' 'b'array([[[[1., 1.]],
[[1., 1.]]],
[[[1., 1.]],
[[1., 1.]]]])array(['Re', 'Im'], dtype='<U2')
array([0, 1])
array([1])
array(['a', 'b'], dtype='<U1')
# #|export
# def _long_name(da):
# if not isinstance(da, DataArray): return da
# return da.attrs.get('long_name', da.name) or ''
# def get_long_name(*args, capitalize:bool=True):
# out = ' '.join(_long_name(arg) for arg in args)
# if not out: return ''
# if capitalize: return capitalize_first(out)
# return outVisualize the data contained in the XarrayVectorArray. Put the first dimension with numerical coordinates on the x axis, and include a scrubber if there is a second numerical dimension. Atomic velocity is prioritized to be on the x axis, time is prioritized to be on the scrubber. Put categorical dimensions in the legend. If the data are complex, add the real and imaginary parts as a categorical dimension. If there are no numerical dimensions, plot the categorical dimension(s) as a horizontal bar plot.
space = XarrayVectorSpace({'foo': ['aaaaaaaaaaaaaaaaaa', 'b', 'c']})
U1 = space.random(name='bar')
U2 = 1j * space.random(name='bar')
U3 = space.random({'baz': np.arange(5)}, name='bar')
U4 = 1j * space.random({'baz': np.arange(5)}, name='bar')
U5 = space.random({'baz': np.arange(5), 'bing': .000123456 * np.linspace(0, 5, 6)}, name='bar')