Example #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()
Example #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()
Example #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()
Example #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()

Example #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'))
Example #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):
Example #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')
Example #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))
Example #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()
Example #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)
Example #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,
Example #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()
Example #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()
Example #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)
Example #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)
Example #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')
Example #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)
Example #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()
Example #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()
Example #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
Example #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()
Example #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,)')