Пример #1
0
import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

import matplotlib.gridspec as gridspec
arr = np.random.randint(99, size=24).reshape((3, 4, 2))
fig = plt.figure(constrained_layout=True)
spec = gridspec.GridSpec(ncols=5, nrows=1, figure=fig)
ax = fig.add_subplot(spec[0], projection='3d')
ax.set_title(f'body of shape={arr.shape}')
va = VisualArray(arr, fig=fig, ax=ax)
va.set_colors(va.get_indices().T, color='lawngreen', basecolor='aqua')
va.mix_colors(va.get_indices_chequerwise((1, 1, arr.shape[2])).T, 'black')
va.vizualize(fixview=True, axis_labels=('axis=0', 'axis=1', 'axis=2'))

ax = fig.add_subplot(spec[1:], projection='3d')
ax.set_title(f'body of shape={arr.flatten().shape}')
va2 = VisualArray(va.arr.flatten(), fig=fig, ax=ax)
va2.set_colors(va2.get_indices().T, color='lawngreen', basecolor='aqua')
va2.mix_colors(va2.get_indices_chequerwise((1, 1, arr.shape[2])).T, 'black')
va2.vizualize(fixview=True, axis_labels=(None, None, 'axis=0'))
ax.dist = 8
plt.get_current_fig_manager().window.state('zoomed')
plt.show()
Пример #2
0
"""this is an example that demonstrates how to multiply three polynomials"""

import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

arr = np.array([[[r'$x^2y$', r'$xy^2$'], [r'$xy^2$', r'$y^3$']],
                [[r'$x^3$', r'$x^2y$'], [r'$x^2y$', r'$xy^2$']]])
va = VisualArray(arr)
va.set_colors(np.where(arr == '$y^3$'), color='#6666ff')
va.set_colors(np.where(arr == '$x^3$'), color='#ff66ff')
va.set_colors(np.where(arr == '$x^2y$'), color='#66ff66')
va.set_colors(np.where(arr == '$xy^3$'), color='#66ffff')
va.vizualize(fixview=False, axis_labels=['$x+y$', '$x+y$', '$x+y$'], scale=0.7)
va.ax.set_title('Why $(x+y)^3 = x^3+3x^2y+3xy^2+y^3$?')
plt.show()
Пример #3
0
import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

arr = np.arange(64).reshape((1, 8, 8))
va = VisualArray(arr)
cells = va.get_indices_chequerwise(window=(1, 1, 1))
va.set_colors(cells.T, color='white', basecolor='grey')
va.vizualize(fixview=True, axis_labels=(None, None, None))
va.ax.dist = 12.5  #zoom out a little
plt.show()
Пример #4
0
import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

arr = np.random.randint(99, size=1260).reshape((10,9,14))
shape = (7,2,3,2,5,3)

fig = plt.figure('dimension')
ax = fig.add_subplot(1, 2, 1, projection='3d')
ax.set_title(f'body of shape={arr.shape}')
va = VisualArray(arr, fig=fig, ax=ax)
va.set_colors(va.get_indices().T, color='lawngreen', basecolor='aqua')
va.vizualize(fixview=False, axis_labels=('axis=0','axis=1','axis=2'))

ax = fig.add_subplot(1, 2, 2, projection='3d')
ax.set_title(f'body of shape={shape}')
va2 = VisualArray(va.arr, va.colors, fig=fig, ax=ax)
va2.permute(shape)
va2.vizualize(fixview=True, axis_labels=('axis=0','axis=1','axis=2'))
plt.get_current_fig_manager().window.state('zoomed')
ax.azim, ax.elev = -115, 24
plt.show()

Пример #5
0
import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

num = 2
x = np.linspace(0, 99, num)
arr = np.meshgrid(x, x, x, x)[0].astype(int)  #at first cube is 4 dimensional
fig = plt.figure('dimension')
ax = fig.add_subplot(2, 3, 1, projection='3d')
ax.set_title(f'meshgrid(x,x,x,x)[0]' + '\n' +
             f' of shape=({num},{num},{num},{num})')
va = VisualArray(arr.reshape((-1, num, num)), fig=fig, ax=ax)
va.set_colors(va.get_indices().T, color='lawngreen', basecolor='aqua')
va.permute(arr.shape)
va.vizualize(fixview=True, axis_labels=('axis=0+3', 'axis=1', 'axis=2'))

arr2 = arr.reshape(4, num**4 // 4)
ax = fig.add_subplot(2, 3, 2, projection='3d')
ax.set_title(f'meshgrid(x,x,x,x)[0].reshape(4, {num} ** 4 // 4)')
va = VisualArray(arr2, fig=fig, ax=ax)
va.set_colors(va.get_indices().T, color='lawngreen', basecolor='aqua')
va.vizualize(fixview=True, axis_labels=(None, 'axis=0', 'axis=1'))
ax.dist = 11

arr3 = np.stack(np.meshgrid(x, x, x, x), axis=-1).astype(int)
ax = fig.add_subplot(2, 3, 4, projection='3d')
ax.set_title(f'st = np.stack(np.meshgrid(x,x,x,x), axis=-1)')
va = VisualArray(arr3.reshape((-1, num, num)), fig=fig, ax=ax)
va.set_colors(va.get_indices().T, color='lawngreen', basecolor='aqua')
va.permute(arr3.shape)
va.vizualize(fixview=True, axis_labels=('axis=0+3', 'axis=1+4', 'axis=2'))
Пример #6
0
import matplotlib.pyplot as plt
from numpyviz import VisualArray

import matplotlib.gridspec as gridspec
arr = np.random.randint(99, size=(3, 3, 4))
fig = plt.figure(constrained_layout=True)
spec = gridspec.GridSpec(ncols=10,
                         nrows=3,
                         hspace=0.05,
                         wspace=0.05,
                         figure=fig)

ax = fig.add_subplot(spec[1, 0], projection='3d')
ax.dist = 11  #zoom out a little
ax.set_title(f'arr of shape={arr.shape}')
va = VisualArray(arr, fig=fig, ax=ax)
va.set_colors(np.where(arr > 65), color='lawngreen', basecolor='aqua')
va.vizualize(fixview=True, axis_labels=('axis=0', 'axis=1', 'axis=2'))

idx = np.indices(arr.shape)
for n in range(3):
    ax = fig.add_subplot(spec[n, 2], projection='3d')
    ax.dist = 11  #zoom out a little
    ax.set_title(f'np.indices({arr.shape})[{n}]')
    va = VisualArray(idx[n], fig=fig, ax=ax)
    va.set_colors(np.where(arr > 65),
                  color='lightgreen',
                  basecolor='lightblue')
    va.vizualize(fixview=True, axis_labels=('axis=0', 'axis=1', 'axis=2'))

for n in range(3):
Пример #7
0
"""this example demonstrates how to image 3D numpy array
indices are colored in yellow if their sum is divisible by 3"""

import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

A = np.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]]])

B = np.array([[[2, 3, 0], [3, 1, 2]]])

fig = plt.figure()
ax = fig.add_subplot(1, 3, 1, projection='3d')
va = VisualArray(A, fig=fig, ax=ax)
coords = va.get_indices()
va.set_colors(coords.T, color='yellow', basecolor='lightblue')
va.vizualize(fixview=True)
va.ax.set_title('A = array of shape (4,2,3)')
va.ax.dist = 12.5

ax = fig.add_subplot(1, 3, 2, projection='3d')
va = VisualArray(B, fig=fig, ax=ax)
coords = va.get_indices()
va.set_colors(coords.T, color='yellow', basecolor='lightblue')
va.vizualize(fixview=True)
va.ax.set_title('B = array of shape (1,2,3)')
va.ax.dist = 12.5

np.put_along_axis(A, B, 1, 0)
ax = fig.add_subplot(1, 3, 3, projection='3d')
Пример #8
0
import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

arr = np.random.randint(99, size=96).reshape((1, 8, 12))
w = (2, 4)

fig = plt.figure()
ax = fig.add_subplot(1, 3, 1, projection='3d')
ax.set_title('image')
va = VisualArray(arr, fig=fig, ax=ax)  #indices of every cell
cells = va.get_indices_chequerwise(window=(1, ) + w)
va.set_colors(cells.T, color='lawngreen', basecolor='aqua')
va.vizualize(fixview=True, axis_labels=(None, 'axis=1', 'axis=0'))

ax = fig.add_subplot(1, 3, 2, projection='3d')
va2 = VisualArray(va.arr, va.colors, fig=fig, ax=ax)  #shape: (1, 8, 12)
shape = (va2.arr.shape[1] // w[0], w[0], va2.arr.shape[2] // w[1], w[1])
ax.set_title(f'image.reshape{shape}')
va2.reshape(shape)  #shape: (4, 2, 3, 4)
new_arr, new_colors = va2.arr.copy(), va2.colors.copy()
va2.permute(shape)
va2.vizualize(fixview=True, axis_labels=('axis=0', 'axis=1', 'axis=2'))


def argmin(arr):
    #bug...
    a2 = arr.argmin(axis=1)
    a4 = arr.argmin(axis=3)
    a1, a3 = np.indices((arr.shape[0], arr.shape[2]))
    x, y, z, t = zip(*np.broadcast(a1, a2, a3, a4))
Пример #9
0
import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray


def argmin_axis2(arr):
    a3 = np.argmin(arr, axis=2)
    print(a3.__repr__())
    a1, a2 = np.indices((arr.shape[0], arr.shape[1]))
    x, y, z = zip(*np.broadcast(a1, a2, a3))
    return x, y, z


arr = np.random.randint(99, size=8 * 8 * 3).reshape((8, 8, 3))
va = VisualArray(arr)
va.set_colors(argmin_axis2(arr), color='yellow', basecolor='lightblue')
va.vizualize(fixview=True)
va.ax.set_title('argmin on axis=-1')
plt.show()
Пример #10
0
                 [0., 2., 0., 0., 0., 2., 0., 0., 0., 2., 0., 0.],
                 [0., 0., 3., 0., 0., 0., 3., 0., 0., 0., 3., 0.],
                 [0., 0., 0., 4., 0., 0., 0., 4., 0., 0., 0., 4.],
                 [1., 0., 3., 0., 1., 0., 4., 0., 1., 0., 5., 0.],
                 [0., 2., 0., 0., 0., 2., 0., 0., 0., 2., 0., 0.],
                 [0., 0., 3., 0., 0., 0., 3., 0., 0., 0., 3., 0.],
                 [0., 0., 0., 4., 0., 0., 0., 4., 0., 0., 0., 4.],
                 [1., 0., 6., 0., 1., 0., 7., 0., 1., 0., 8., 0.],
                 [0., 2., 0., 0., 0., 2., 0., 0., 0., 2., 0., 0.],
                 [0., 0., 3., 0., 0., 0., 3., 0., 0., 0., 3., 0.],
                 [0., 0., 0., 4., 0., 0., 0., 4., 0., 0., 0., 4.]]).reshape(
                     (1, 12, 12)).astype(int)

fig = plt.figure()
ax = fig.add_subplot(2, 3, 1, projection='3d')
va1 = VisualArray(arr, fig=fig, ax=ax)
va1.ax.set_title(f'input')
va1.set_colors(va1.get_indices().T, color='lightgreen', basecolor='aqua')
va1.vizualize(fixview=True,
              axis_labels=(None, 'axis=0', 'axis=1'),
              usetex=False,
              scale=1.2)
va1.ax.dist = 12
va1.azim, va1.elev = -90, 45

ax = fig.add_subplot(2, 3, 2, projection='3d')
va2 = VisualArray(arr, fig=fig, ax=ax)
va2.ax.set_title(f'input <-> input.reshape((4, 3, 4, 3))')
w = (3, 3)
shape = (arr.shape[1] // w[0], w[0], arr.shape[2] // w[1], w[1])
print(shape)
Пример #11
0
import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

a = np.array([[1, 2, 3], [3, 4, 5]])
b = np.array([[[1, 0, 1], [1, 1, 0], [0, 1, 1]],
              [[1, 1, 1], [0, 1, 0], [0, 0, 1]]])
c = np.array([1, 2, 3])

fig = plt.figure()
ax = fig.add_subplot(2, 3, 1, projection='3d')
va1 = VisualArray(a[:, None, :], fig=fig, ax=ax)
va1.ax.set_title(f'a[:,None,:] of shape=(2, 1, 3)')
va1.set_colors(va1.get_indices().T, color='lightgreen', basecolor='aqua')
va1.vizualize(fixview=True, usetex=False, scale=1.2)
va1.ax.dist = 12

ax = fig.add_subplot(2, 3, 2, projection='3d')
va2 = VisualArray(b, fig=fig, ax=ax)
va2.ax.set_title(f'b of shape=(2, 3, 3)')
va2.set_colors(va2.get_indices().T, color='lightgreen', basecolor='aqua')
va2.vizualize(fixview=True, usetex=False, scale=1.2)
va2.ax.dist = 12

ax = fig.add_subplot(2, 3, 3, projection='3d')

va3 = VisualArray(c, fig=fig, ax=ax)
va3.ax.set_title(f'c of shape=(3,)')

va3.set_colors(va3.get_indices().T, color='lightgreen', basecolor='aqua')
va3.vizualize(fixview=True,
Пример #12
0
    arr = np.asarray(arr, dtype='uint32')
    hexarr = np.vectorize(tohexarr)
    return hexarr((arr[:, :, 0] << 16) + (arr[:, :, 1] << 8) + arr[:, :, 2])


def tolabels(arr):
    def tolabelarr(x):
        return r'\begin{array}{l}\,\,\sharp ' + x[1:4] + r'\\ \,\,\,\, ' + x[
            4:7] + r'\\ ' + r'\\ ' + r'\\ ' + r'\end{array}'

    labelarr = np.vectorize(tolabelarr)
    return labelarr(arr)


from PIL import Image
test_image = Image.open('cat.jpg')
test_image = test_image.resize((32, 32), Image.ANTIALIAS)
test_image = np.array(test_image).astype(int)
arr = tohex(test_image)

va = VisualArray(arr)
cells = va.get_indices()
x, y, z = cells.T
va.set_colors(cells.T, color=va.arr[x, y, z])
va.arr = tolabels(va.arr)
va.vizualize(fixview=True, scale=0.35, axis_labels=(None, None, None))
va.ax.dist = 11.5  #zoom out a little; change to 3.5 for higher zoom
plt.get_current_fig_manager().window.state('zoomed')
plt.show()
Пример #13
0
import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

start = np.random.randint(99, size=(5, 7, 3))
height, width = start.shape[:2]
v, u = np.indices((height, width))
print(u)
print(v)
print(np.around(-0.5 + u / (width - 1), 2))
print(np.around((-0.5 + v / (height - 1)) * height / width, 2))
va = VisualArray(start)
cells = va.get_indices()
va.set_colors(cells.T, color='yellow', basecolor='lightblue')
va.vizualize(fixview=True)
va.ax.set_title('array of shape (5,7,3)')
plt.show()
Пример #14
0
"""this example demonstrates how to make a multiple
subplots of a VisualArray in multiple sides"""

import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

x = np.random.randint(99, size=(1, 1, 9))
y = np.random.randint(99, size=(4, 4, 1))

fig = plt.figure()
ax = fig.add_subplot(1, 3, 1, projection='3d')
ax.set_title('x = array of shape (1, 1, 9)')
va = VisualArray(x, fig=fig, ax=ax)
va.set_colors(np.array(list(np.ndindex(x.shape))).T,
              color='yellow',
              basecolor='lightblue')
va.vizualize(fixview=True)

ax = fig.add_subplot(1, 3, 2, projection='3d')
ax.set_title('y = array of shape (4, 4, 1)')
va = VisualArray(y, fig=fig, ax=ax)
va.set_colors(np.array(list(np.ndindex(y.shape))).T,
              color='yellow',
              basecolor='lightblue')
va.vizualize(fixview=True)

arr = x - y
ax = fig.add_subplot(1, 3, 3, projection='3d')
ax.set_title('x - y = array of shape (4, 4, 9)')
va = VisualArray(arr, fig=fig, ax=ax)
Пример #15
0
import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

arr = np.array([[
    r'$\times$', r'$x^2$', r'$y^2$', r'$z^2$', r'$-xy$', r'$-yz$', r'$-xz$'
], [r'$x$', r'$x^3$', r'$xy^2$', r'$xz^2$', r'$-x^2y$', r'$-xyz$', r'$-x^2z$'],
                [
                    r'$y$', r'$x^2y$', r'$y^3$', r'$yz^2$', r'$-xy^2$',
                    r'$-y^2z$', r'$-xyz$'
                ],
                [
                    r'$z$', r'$x^2z$', r'$y^2z$', r'$z^3$', r'$-xyz$',
                    r'$-yz^2$', r'$-xz^2$'
                ]])
va = VisualArray(arr)
blue = [(0, i, 0) for i in range(1, 4)] + [(0, 0, i) for i in range(1, 7)]
lime = [(0, 1, 1), (0, 2, 2), (0, 3, 3), (0, 1, -2), (0, 2, -1), (0, 3, -3)]
va.set_colors(zip(*blue), color='lightblue', basecolor='white')
va.set_colors(zip(*lime), color='lime')
va.set_colors(zip(*[(0, 2, -2), (0, -1, 2)]), color='#ffff00')
va.set_colors(zip(*[(0, 1, 2), (0, 2, 4)]), color='#dddd00')
va.set_colors(zip(*[(0, 1, 3), (0, -1, -1)]), color='#bbbb00')
va.set_colors(zip(*[(0, 1, 4), (0, 2, 1)]), color='#999900')
va.set_colors(zip(*[(0, 1, 6), (0, -1, 1)]), color='#777700')
va.set_colors(zip(*[(0, 2, 3), (0, -1, -2)]), color='#555500')
va.vizualize(fixview=True,
             axis_labels=[
                 None, '$x+y+z$', r'$' + r'\!' * 35 + r' x^2+y^2+z^2-xy-yz-zx$'
             ],
             scale=0.4)
Пример #16
0
"""this example demonstrates how to make a multiple
subplots of a VisualArray in multiple sides"""

import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

arr = np.array([[[1, 2, 13], [12, 2, 32], [61, 2, 6], [1, 23, 3], [1, 21, 3],
                 [91, 2, 38]]])

fig = plt.figure()
ax = fig.add_subplot(1, 3, 1, projection='3d')
ax.set_title('a = array of shape (1, 6, 3)')
va = VisualArray(arr, fig=fig, ax=ax)
va.set_colors(np.array(list(np.ndindex(arr.shape))).T,
              color='yellow',
              basecolor='lightblue')
va.vizualize(fixview=True)

arr = arr[:, :, :2]
ax = fig.add_subplot(1, 3, 2, projection='3d')
ax.set_title('a = a[:,:,:2] \n' 'a is of shape (1, 6, 2) now')
va = VisualArray(arr, fig=fig, ax=ax)
va.set_colors(np.array(list(np.ndindex(arr.shape))).T,
              color='yellow',
              basecolor='lightblue')
va.vizualize(fixview=True)

arr = arr.squeeze()
ax = fig.add_subplot(1, 3, 3, projection='3d')
ax.set_title('a = a.squeeze() \n' 'a is of shape (6, 2) now')
Пример #17
0
import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

fig = plt.figure()
arr = np.array([[[r'$x^3y^2$', r'$x^2y^3$'], [r'$x^2y^3$', r'$xy^4$']],
                [[r'$x^2y^3$', r'$xy^4$'], [r'$xy^4$', r'$y^5$']],
                [[r'$x^4y$', r'$x^3y^2$'], [r'$x^3y^2$', r'$x^2y^3$']],
                [[r'$x^3y^2$', r'$x^2y^3$'], [r'$x^2y^3$', r'$xy^4$']],
                [[r'$x^4y$', r'$x^3y^2$'], [r'$x^3y^2$', r'$x^2y^3$']],
                [[r'$x^3y^2$', r'$x^2y^3$'], [r'$x^2y^3$', r'$xy^4$']],
                [[r'$x^5$', r'$x^4y$'], [r'$x^4y$', r'$x^3y^2$']],
                [[r'$x^4y$', r'$x^3y^2$'], [r'$x^3y^2$', r'$x^2y^3$']]])

ax = fig.add_subplot(1, 2, 1, projection='3d')
va = VisualArray(arr, fig=fig, ax=ax)
va.set_colors(np.where(arr == '$x^5$'), color='#6666ff')
va.set_colors(np.where(arr == '$x^4y$'), color='#66ff66')
va.set_colors(np.where(arr == '$x^3y^2$'), color='#ff6666')
va.set_colors(np.where(arr == '$x^2y^3$'), color='#ffff66')
va.set_colors(np.where(arr == '$xy^4$'), color='#ff66ff')
va.set_colors(np.where(arr == '$y^5$'), color='#66ffff')
va.permute(shape=(2, 2, 2, 2, 2))
va.vizualize(
    fixview=True,
    axis_labels=[
        r'$\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!' + 'x(x+y)\!\!+\!\!y(x+y)$',
        r'$\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!' + 'x(x+y)\!\!+\!\!y(x+y)$',
        r'$\!\!x+y$'
    ],
    scale=0.6)
Пример #18
0
        c = np.base_repr(x, base=16)
        form[-len(c):] = list(c)
        return ''.join(form)

    arr = np.asarray(arr, dtype='uint32')
    hexarr = np.vectorize(tohexarr)
    return hexarr((arr[:, :, 0] << 16) + (arr[:, :, 1] << 8) + arr[:, :, 2])


from PIL import Image
test_image = Image.open('cat.jpg')
test_image = test_image.resize((32, 32), Image.ANTIALIAS)
test_image = np.array(test_image).astype(int)

t = time()
va = VisualArray(test_image)
coords = va.get_indices()
eye = np.eye(3, dtype=int)

#input of set_colors can be another array of len(cellsT)
for i in range(3):
    color = np.expand_dims(test_image[:, :, i], axis=2) * eye[i]
    cellsT = coords[coords[:, 2] == i].T  #list of coords where z = i
    va.set_colors(cellsT, color=tohex(color)[cellsT[0], cellsT[1]])
va.vizualize(fixview=True, scale=0.7, axis_labels=(None, None, None))
va.ax.azim = 40  #change to 40 to see another back side
va.ax.elev = 20
va.ax.dist = 8  #zoom in a little
print(time() - t)
plt.get_current_fig_manager().window.state('zoomed')
plt.show()
Пример #19
0
import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

v = np.array([[2, 5, 3, 5, 1, 8], [4, 6, 2, 7, 5, 9], [1, 8, 2, 3, 1, 4],
              [2, 8, 1, 4, 3, 5], [5, 7, 2, 3, 7, 8], [1, 2, 4, 6, 3, 5],
              [3, 5, 2, 8, 1, 4]])

s = np.sort(v, axis=1)
arr1 = v[(s[:, :-1] != s[:, 1:]).all(1)]
arr2 = arr1.reshape(-1, 3, 2)

fig = plt.figure()
ax = fig.add_subplot(1, 2, 1, projection='3d')
ax.set_title('Initial array')
va = VisualArray(arr1, fig=fig, ax=ax)
va.set_colors(va.get_indices().T, color='yellow', basecolor='lightblue')
va.vizualize(fixview=True, axis_labels=(None, 'axis=0', 'axis=1'))
ax.dist = 12

ax = fig.add_subplot(1, 2, 2, projection='3d')
ax.set_title('Reshaped array')
va = VisualArray(arr2, fig=fig, ax=ax)
va.set_colors(va.get_indices().T, color='yellow', basecolor='lightblue')
va.vizualize(fixview=True)
ax.dist = 12
plt.show()
Пример #20
0
import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

arr = np.array([[11, 12, 13, 14, 15, 16], [21, 22, 23, 24, 25, 26],
                [31, 32, 33, 34, 35, 36], [41, 42, 43, 44, 45, 46]])
a = arr.copy()

fig = plt.figure()
ax = fig.add_subplot(2, 3, 1, projection='3d')
va = VisualArray(arr, fig=fig, ax=ax)
coords = va.get_indices()
va.set_colors(coords.T, color='yellow', basecolor='lightblue')
va.vizualize(fixview=True, axis_labels=(None, 'axis=0', 'axis=1'))
va.ax.set_title('arr = array of shape (4,6)')
va.ax.dist = 12.5

arr = a.reshape((4, 3, 2))
ax = fig.add_subplot(2, 3, 2, projection='3d')
va = VisualArray(arr, fig=fig, ax=ax)
coords = va.get_indices()

va.set_colors(coords[coords[:, 1] == 1].T,
              color='lightgreen',
              basecolor='lightblue')
va.set_colors(coords[coords[:, 1] == 2].T,
              color='thistle',
              basecolor='lightblue')
va.vizualize(fixview=True)
va.ax.set_title('arr1 = array of shape (4, 3, 2)')
va.ax.dist = 12.5
Пример #21
0
"""this example demonstrates how to make a multiple
subplots of a VisualArray in multiple sides"""

import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

arr = np.random.randint(100, size=60).reshape((2, 6, 5))
coords = np.array(list(np.ndindex(arr.shape)))
cells = coords[np.sum(coords, axis=1) % 3 == 0]
fig = plt.figure()
ax = fig.add_subplot(2, 1, 1, projection='3d')
ax.set_title('top')
va = VisualArray(arr, fig=fig, ax=ax)
va.set_colors(cells.T, color='yellow', basecolor='lightblue')
va.vizualize(fixview=True)

ax = fig.add_subplot(2, 1, 2, projection='3d')
ax.set_title('bottom')
va = VisualArray(arr, fig=fig, ax=ax)
va.set_colors(cells.T, color='yellow', basecolor='lightblue')
va.vizualize(fixview=True)
ax.elev = -30
plt.show()
Пример #22
0
import numpy as np
import matplotlib.pyplot as plt
from numpyviz import VisualArray

arr = np.array([1,0,1])

fig = plt.figure()
ax = fig.add_subplot(2, 3, 1, projection='3d')
va = VisualArray(arr, fig=fig, ax=ax)
va.set_colors(va.get_indices().T, color='orange', basecolor='lightblue')
va.vizualize(fixview=True, axis_labels=(None, None, 'axis=0'), usetex=False)
va.ax.set_title('arr = array of shape (3,)')
va.ax.dist = 12.5
va.ax.azim, va.ax.elev = -135, 45

arr1 = np.array([1,0,1]).reshape(-1, 1)
ax = fig.add_subplot(2, 2, 2, projection='3d')
va = VisualArray(arr1, fig=fig, ax=ax)

va.set_colors(va.get_indices().T, color='yellow', basecolor='lightblue')
va.vizualize(fixview=True, axis_labels=(None, 'axis=0', 'axis=1'), usetex=False)
va.ax.set_title('arr1 = array of shape (3,1)')
va.ax.dist = 12.5
va.ax.azim, va.ax.elev = -135, 45

arr2 = np.round(np.linspace(-3,3,11),1)
ax = fig.add_subplot(2, 2, 3, projection='3d')
va = VisualArray(arr2, fig=fig, ax=ax)
va.set_colors(va.get_indices().T, color='lightblue', basecolor='lightblue')
va.vizualize(fixview=True, axis_labels=(None, None, 'axis=0'), scale=0.5, usetex=False)
va.ax.set_title('arr2 = array of shape (11,)')