grm/isovalue-multiseries-multiplotΒΆ
[GRM] Complex example of multiple subplots and series
import sys
import numpy as np
import grm
x = np.linspace(-1, 1, 40)[:, np.newaxis, np.newaxis]
y = np.linspace(-1, 1, 40)[np.newaxis, :, np.newaxis]
z = np.linspace(-1, 1, 40)[np.newaxis, np.newaxis, :]
v = 1 - ((x - 0.5) ** 2 + y ** 2 + z ** 2) ** 0.5
v2 = 1 - ((x + 0.5) ** 2 + y ** 2 + z ** 2) ** 0.5
v3 = np.zeros((40, 40, 40))
v4 = np.zeros((40, 40, 40))
v5 = np.zeros((40, 40, 40))
v3[0, :, :] = 1
v4[:, 0, :] = 1
v5[:, :, 0] = 1
grm.plot.plot(
grm.args.new(
{
"subplots": [
{
"x": np.linspace(0, 2, 100),
"y": np.sin(np.linspace(0, 2, 100)),
"title": "Plot of sin from y = 0 to 2",
"subplot": [0, 1, 0.5, 1],
},
{
"series": [
{"c": v3, "isovalue": 0.5, "foreground_color": [0.8, 0.3, 0.2]},
{"c": v4, "isovalue": 0.5, "foreground_color": [0.2, 0.8, 0.3]},
{"c": v5, "isovalue": 0.5, "foreground_color": [0.6, 0.3, 0.8]},
{"c": v2, "isovalue": 0.5, "foreground_color": [0.2, 0.8, 0.3]},
{"c": v, "isovalue": 0.5, "foreground_color": [0.2, 0.3, 0.8]},
],
"kind": "isosurface",
# "rotation": 30.0,
"title": "Example of multi-series Isosurface",
"subplot": [0, 0.5, 0, 0.5],
},
{
"c": np.maximum(v, v2),
"isovalue": 0.5,
"foreground_color": [0.2, 0.5, 0.3],
"title": "Single series isosurface",
"subplot": [0.5, 1, 0, 0.5],
"kind": "isosurface",
},
],
"size": [1000, 800],
}
)
)
print("press enter to quit")
sys.stdin.read(1)