upxo.viz.meshviz module
- upxo.viz.meshviz.see_femesh(points_2d, lines, triangles, quads, figsize=(8, 8), dpi=150, tri_edgecolor='blue', tri_facecolor='none', tri_linewidth=1.0, tri_alpha=1.0, quad_edgecolor='green', quad_facecolor='none', quad_linewidth=1.0, quad_alpha=1.0, line_color='black', line_linewidth=2.0, line_alpha=1.0, show_nodes=False, node_color='red', node_size=3, node_marker='o', show_node_numbers=False, node_number_fontsize=6, node_number_color='darkred', show_elem_numbers=False, elem_number_fontsize=7, elem_number_color='darkblue', colorby_quality=None, quality_data=None, cmap='viridis', clim=None, show_colorbar=False, colorbar_label='Quality', title='FE Mesh Visualization', show_title=True, show_grid=False, grid_alpha=0.3, grid_linestyle='--', show_axis=False, show_legend=True, show_stats=True, stats_loc='upper right', stats_fontsize=8)[source]
Enhanced finite element mesh visualization with extensive customization options.
- Parameters:
lines (ndarray, shape (M, 2), or None) – Line element connectivity. If None, no lines are plotted.
triangles (ndarray, shape (P, 3), or None) – Triangle element connectivity. If None, no triangles are plotted.
quads (ndarray, shape (Q, 4), or None) – Quad element connectivity. If None, no quads are plotted.
figsize (tuple, optional) – Figure size. Default (8, 8)
dpi (int, optional) – Figure DPI. Default 150
tri_edgecolor (str, optional) – Triangle edge color. Default ‘blue’
tri_facecolor (str, optional) – Triangle face color. Default ‘none’
tri_linewidth (float, optional) – Triangle edge width. Default 1.0
tri_alpha (float, optional) – Triangle transparency. Default 1.0
quad_edgecolor (str, optional) – Quad edge color. Default ‘green’
quad_facecolor (str, optional) – Quad face color. Default ‘none’
quad_linewidth (float, optional) – Quad edge width. Default 1.0
quad_alpha (float, optional) – Quad transparency. Default 1.0
line_color (str, optional) – Feature line color. Default ‘black’
line_linewidth (float, optional) – Feature line width. Default 2.0
line_alpha (float, optional) – Feature line transparency. Default 1.0
show_nodes (bool, optional) – Show node markers. Default False
node_color (str, optional) – Node marker color. Default ‘red’
node_size (float, optional) – Node marker size. Default 3
node_marker (str, optional) – Node marker style. Default ‘o’
show_node_numbers (bool, optional) – Annotate node numbers. Default False
node_number_fontsize (int, optional) – Node number font size. Default 6
node_number_color (str, optional) – Node number color. Default ‘darkred’
show_elem_numbers (bool, optional) – Annotate element numbers at centroids. Default False
elem_number_fontsize (int, optional) – Element number font size. Default 7
elem_number_color (str, optional) – Element number color. Default ‘darkblue’
colorby_quality (str or None, optional) – Element quality metric to color by (‘tri’, ‘quad’, ‘all’). Default None
quality_data (ndarray or None, optional) – Element quality values (one per element). Default None
cmap (str, optional) – Colormap for quality visualization. Default ‘viridis’
clim (tuple or None, optional) – Color limits (min, max) for quality colormap. Default None (auto)
show_colorbar (bool, optional) – Show colorbar for quality. Default False
colorbar_label (str, optional) – Colorbar label. Default ‘Quality’
title (str, optional) – Plot title. Default ‘FE Mesh Visualization’
show_title (bool, optional) – Display title. Default True
show_grid (bool, optional) – Show background grid. Default False
grid_alpha (float, optional) – Grid transparency. Default 0.3
grid_linestyle (str, optional) – Grid line style. Default ‘–’
show_axis (bool, optional) – Show axis. Default False
show_legend (bool, optional) – Show legend. Default True
show_stats (bool, optional) – Show mesh statistics. Default True
stats_loc (str, optional) – Statistics text location. Default ‘upper right’
stats_fontsize (int, optional) – Statistics font size. Default 8
- Returns:
fig (matplotlib.figure.Figure) – Figure object
ax (matplotlib.axes.Axes) – Axes object
Usage
—–
from upxo.viz.meshviz import see_femesh
Examples
>>> # Basic usage >>> fig, ax = see_femesh(points_2d, lines, triangles, quads)
>>> # With nodes and element numbers >>> fig, ax = see_femesh(points_2d, lines, triangles, quads, ... show_nodes=True, show_elem_numbers=True)
>>> # Color by quality >>> fig, ax = see_femesh(points_2d, lines, triangles, quads, ... colorby_quality='all', quality_data=quality_values, ... show_colorbar=True, cmap='coolwarm')
- upxo.viz.meshviz.plot_elements_by_ids_geomMesh(element_ids, eltype, elConn, nodes, GBlines, fig=None, ax=None, gblines_by_grain=None, local_view=True, figsize=(6, 6), dpi=100, tri_edgecolor='tab:green', quad_edgecolor='tab:blue', tri_facecolor='none', quad_facecolor='none', elem_linewidth=0.7, gb_linewidth=2.0, quality_by_eltype=None, cmap='cubehelix_r', vmin=None, vmax=None, show_colorbar=True, title='Selected elements')[source]
Usage
from upxo.viz import meshviz
- upxo.viz.meshviz.plot_elements_geometric_grain(grain_name, elsets_eltype=None, elConn=None, nodes=None, GBlines=None, fig=None, ax=None, gblines_by_grain=None, local_view=True, figsize=(6, 6), dpi=100, tri_edgecolor='tab:green', quad_edgecolor='tab:blue', elem_linewidth=0.7, gb_linewidth=2.0, plot_triangles=True, plot_quads=True, quality_by_eltype=None, cmap='cubehelix_r', vmin=None, vmax=None, show_colorbar=True)[source]
Visualise elements geometric grain using Matplotlib or PyVista.
- upxo.viz.meshviz.plot_elements_by_elIDs(element_ids, eltype=None, elConn=None, nodes=None, GBlines=None, fig=None, ax=None, gblines_by_grain=None, local_view=True, figsize=(6, 6), dpi=100, tri_edgecolor='tab:green', quad_edgecolor='tab:blue', elem_linewidth=0.7, gb_linewidth=2.0, quality_by_eltype=None, cmap='cubehelix_r', vmin=None, vmax=None, show_colorbar=True, title='Selected elements')[source]
Usage
from upxo.viz import meshviz
- upxo.viz.meshviz.plot_elements_geometric_grains(grain_names=None, grain_ids=None, prefix='grain.', elsets_eltype=None, elConn=None, nodes=None, GBlines=None, fig=None, ax=None, gblines_by_grain=None, local_view=True, figsize=(6, 6), dpi=100, tri_edgecolor='tab:green', quad_edgecolor='tab:blue', elem_linewidth=0.7, gb_linewidth=2.0, plot_triangles=True, plot_quads=True, quality_by_eltype=None, cmap='cubehelix_r', vmin=None, vmax=None, show_colorbar=True)[source]
Visualise elements geometric grains using Matplotlib or PyVista.
- upxo.viz.meshviz.pick_contrasting_colours_from_cmap(n_colours, cmap_name='nipy_spectral')[source]
Pick contrasting colours from cmap.
- upxo.viz.meshviz.resolve_band_colours(bands, band_colours=None, auto_cmap='nipy_spectral')[source]
Resolve band colours.
- upxo.viz.meshviz.plot_band_elements(element_ids_by_band, bands, plot_eltype, gbcoords, gsConfMesh, gblines_by_grain=None, colours_to_use=None, title='Selected elements by band', band_facecolors=False)[source]
Visualise band elements using Matplotlib or PyVista.
- upxo.viz.meshviz.see_gbElements_grains(gb_elements_grain, eltypes=None, elConn=None, nodes=None, GBlines=None, fig=None, ax=None, gblines_by_grain=None, local_view=True, figsize=(6, 6), dpi=100, tri_edgecolor='tab:green', quad_edgecolor='tab:blue', elem_linewidth=0.7, gb_linewidth=2.0, quality_by_eltype=None, cmap='cubehelix_r', vmin=None, vmax=None, show_colorbar=True, title='Selected elements')[source]
See gbelements grains.