CINXE.COM

PyVista — PyVista 0.44.2 documentation

<!DOCTYPE html> <html lang="en" data-content_root="./" > <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <title>PyVista &#8212; PyVista 0.44.2 documentation</title> <script data-cfasync="false"> document.documentElement.dataset.mode = localStorage.getItem("mode") || ""; document.documentElement.dataset.theme = localStorage.getItem("theme") || ""; </script> <!-- Loaded before other Sphinx assets --> <link href="_static/styles/theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" /> <link href="_static/styles/bootstrap.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" /> <link href="_static/styles/pydata-sphinx-theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" /> <link href="_static/vendor/fontawesome/6.5.2/css/all.min.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" /> <link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2" /> <link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2" /> <link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2" /> <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=649a27d8" /> <link rel="stylesheet" type="text/css" href="_static/jupyter-sphinx.css" /> <link rel="stylesheet" type="text/css" href="_static/thebelab.css" /> <link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" /> <link rel="stylesheet" type="text/css" href="_static/asciinema-player_3.6.3.css" /> <link rel="stylesheet" type="text/css" href="_static/no_search_highlight.css?v=4b20ffad" /> <link rel="stylesheet" type="text/css" href="_static/summary.css?v=2b0ca9f5" /> <link rel="stylesheet" type="text/css" href="_static/sg_gallery.css?v=61a4c737" /> <link rel="stylesheet" type="text/css" href="_static/sg_gallery-binder.css?v=f4aeca0c" /> <link rel="stylesheet" type="text/css" href="_static/sg_gallery-dataframe.css?v=2082cf3c" /> <link rel="stylesheet" type="text/css" href="_static/sg_gallery-rendered-html.css?v=1277b6f3" /> <link rel="stylesheet" type="text/css" href="_static/sphinx-design.min.css?v=87e54e7c" /> <link rel="stylesheet" type="text/css" href="_static/cards.css?v=90395a4f" /> <link rel="stylesheet" type="text/css" href="_static/no_italic.css?v=82ad2056" /> <!-- Pre-loaded scripts that we'll load fully later --> <link rel="preload" as="script" href="_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b" /> <link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" /> <script src="_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script> <script src="_static/documentation_options.js?v=5a2333ad"></script> <script src="_static/doctools.js?v=9a2dae69"></script> <script src="_static/sphinx_highlight.js?v=dc90522c"></script> <script src="_static/thebelab-helper.js"></script> <script src="_static/clipboard.min.js?v=a7894cd8"></script> <script src="_static/copybutton.js?v=49e1bf35"></script> <script src="_static/asciinema-player_3.6.3.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/@jupyter-widgets/html-manager@^1.0.1/dist/embed-amd.js"></script> <script src="_static/design-tabs.js?v=f930bc37"></script> <script async="async" src="https://www.googletagmanager.com/gtag/js?id=UA-140243896-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){ dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-140243896-1'); </script> <script> window.dataLayer = window.dataLayer || []; function gtag(){ dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-140243896-1'); </script> <script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> <script>DOCUMENTATION_OPTIONS.pagename = 'index';</script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> <link rel="next" title="Getting Started" href="getting-started/index.html" /> <meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="docsearch:language" content="en"/> </head> <body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode=""> <div id="pst-skip-link" class="skip-link d-print-none"><a href="#main-content">Skip to main content</a></div> <div id="pst-scroll-pixel-helper"></div> <button type="button" class="btn rounded-pill" id="pst-back-to-top"> <i class="fa-solid fa-arrow-up"></i>Back to top</button> <input type="checkbox" class="sidebar-toggle" id="pst-primary-sidebar-checkbox"/> <label class="overlay overlay-primary" for="pst-primary-sidebar-checkbox"></label> <input type="checkbox" class="sidebar-toggle" id="pst-secondary-sidebar-checkbox"/> <label class="overlay overlay-secondary" for="pst-secondary-sidebar-checkbox"></label> <div class="search-button__wrapper"> <div class="search-button__overlay"></div> <div class="search-button__search-container"> <form class="bd-search d-flex align-items-center" action="search.html" method="get"> <i class="fa-solid fa-magnifying-glass"></i> <input type="search" class="form-control" name="q" id="search-input" placeholder="Search the docs ..." aria-label="Search the docs ..." autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/> <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span> </form></div> </div> <div class="pst-async-banner-revealer d-none"> <aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside> </div> <header class="bd-header navbar navbar-expand-lg bd-navbar d-print-none"> <div class="bd-header__inner bd-page-width"> <button class="pst-navbar-icon sidebar-toggle primary-toggle" aria-label="Site navigation"> <span class="fa-solid fa-bars"></span> </button> <div class="col-lg-3 navbar-header-items__start"> <div class="navbar-item"> <a class="navbar-brand logo" href="#"> <img src="_static/pyvista_logo_sm.png" class="logo__image only-light" alt="PyVista 0.44.2 documentation - Home"/> <script>document.write(`<img src="_static/pyvista_logo_sm.png" class="logo__image only-dark" alt="PyVista 0.44.2 documentation - Home"/>`);</script> </a></div> </div> <div class="col-lg-9 navbar-header-items"> <div class="me-auto navbar-header-items__center"> <div class="navbar-item"> <nav> <ul class="bd-navbar-elements navbar-nav"> <li class="nav-item "> <a class='nav-link nav-internal' href='/getting-started/'> Getting Started </a> </li> <li class="nav-item "> <a class='nav-link nav-internal' href='/user-guide/'> User Guide </a> </li> <li class="nav-item "> <a class='nav-link nav-internal' href='/examples/'> Examples </a> </li> <li class="nav-item "> <a class='nav-link nav-internal' href='/api/'> API Reference </a> </li> <li class="nav-item "> <a class='nav-link nav-internal' href='/extras/'> Extras </a> </li> </ul> </nav></div> </div> <div class="navbar-header-items__end"> <div class="navbar-item navbar-persistent--container"> <script> document.write(` <button class="btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip"> <i class="fa-solid fa-magnifying-glass"></i> <span class="search-button__default-text">Search</span> <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span> </button> `); </script> </div> <div class="navbar-item"> <script> document.write(` <button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip"> <i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light"></i> <i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark"></i> <i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto"></i> </button> `); </script></div> <div class="navbar-item"><ul class="navbar-icon-links" aria-label="Icon Links"> <li class="nav-item"> <a href="https://github.com/pyvista/pyvista" title="GitHub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i> <span class="sr-only">GitHub</span></a> </li> <li class="nav-item"> <a href="https://communityinviter.com/apps/pyvista/pyvista" title="Slack Community" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fab fa-slack fa-lg" aria-hidden="true"></i> <span class="sr-only">Slack Community</span></a> </li> <li class="nav-item"> <a href="https://github.com/pyvista/pyvista/discussions" title="Support" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa fa-comment fa-fw fa-lg" aria-hidden="true"></i> <span class="sr-only">Support</span></a> </li> <li class="nav-item"> <a href="https://github.com/pyvista/pyvista/blob/main/CONTRIBUTING.rst" title="Contributing" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa fa-gavel fa-fw fa-lg" aria-hidden="true"></i> <span class="sr-only">Contributing</span></a> </li> <li class="nav-item"> <a href="https://doi.org/10.21105/joss.01450" title="The Paper" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa fa-file-text fa-fw fa-lg" aria-hidden="true"></i> <span class="sr-only">The Paper</span></a> </li> </ul></div> </div> </div> <div class="navbar-persistent--mobile"> <script> document.write(` <button class="btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip"> <i class="fa-solid fa-magnifying-glass"></i> <span class="search-button__default-text">Search</span> <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span> </button> `); </script> </div> <button class="pst-navbar-icon sidebar-toggle secondary-toggle" aria-label="On this page"> <span class="fa-solid fa-outdent"></span> </button> </div> </header> <div class="bd-container"> <div class="bd-container__inner bd-page-width"> <div class="bd-sidebar-primary bd-sidebar hide-on-wide"> <div class="sidebar-header-items sidebar-primary__section"> <div class="sidebar-header-items__center"> <div class="navbar-item"> <nav> <ul class="bd-navbar-elements navbar-nav"> <li class="nav-item "> <a class='nav-link nav-internal' href='/getting-started/'> Getting Started </a> </li> <li class="nav-item "> <a class='nav-link nav-internal' href='/user-guide/'> User Guide </a> </li> <li class="nav-item "> <a class='nav-link nav-internal' href='/examples/'> Examples </a> </li> <li class="nav-item "> <a class='nav-link nav-internal' href='/api/'> API Reference </a> </li> <li class="nav-item "> <a class='nav-link nav-internal' href='/extras/'> Extras </a> </li> </ul> </nav></div> </div> <div class="sidebar-header-items__end"> <div class="navbar-item"> <script> document.write(` <button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip"> <i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light"></i> <i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark"></i> <i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto"></i> </button> `); </script></div> <div class="navbar-item"><ul class="navbar-icon-links" aria-label="Icon Links"> <li class="nav-item"> <a href="https://github.com/pyvista/pyvista" title="GitHub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i> <span class="sr-only">GitHub</span></a> </li> <li class="nav-item"> <a href="https://communityinviter.com/apps/pyvista/pyvista" title="Slack Community" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fab fa-slack fa-lg" aria-hidden="true"></i> <span class="sr-only">Slack Community</span></a> </li> <li class="nav-item"> <a href="https://github.com/pyvista/pyvista/discussions" title="Support" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa fa-comment fa-fw fa-lg" aria-hidden="true"></i> <span class="sr-only">Support</span></a> </li> <li class="nav-item"> <a href="https://github.com/pyvista/pyvista/blob/main/CONTRIBUTING.rst" title="Contributing" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa fa-gavel fa-fw fa-lg" aria-hidden="true"></i> <span class="sr-only">Contributing</span></a> </li> <li class="nav-item"> <a href="https://doi.org/10.21105/joss.01450" title="The Paper" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa fa-file-text fa-fw fa-lg" aria-hidden="true"></i> <span class="sr-only">The Paper</span></a> </li> </ul></div> </div> </div> <div class="sidebar-primary-items__end sidebar-primary__section"> </div> <div id="rtd-footer-container"></div> </div> <main id="main-content" class="bd-main" role="main"> <div class="bd-content"> <div class="bd-article-container"> <div class="bd-header-article d-print-none"></div> <div id="searchbox"></div> <article class="bd-article"> <div class="banner"> <a href='/examples/'><center><img src="_static/pyvista_logo.png" alt="pyvista" width="75%"/></a> <h3>3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)</h2> <a href='/examples/'><img src="_static/pyvista_banner_small.png" alt="pyvista" width="100%"/></a> </div><div class="line-block"> <div class="line"><br /></div> </div> <section id="overview"> <h1>Overview<a class="headerlink" href="#overview" title="Link to this heading">#</a></h1> <p>PyVista is:</p> <ul class="simple"> <li><p><em>Pythonic VTK</em>: a high-level API to the <a class="reference external" href="https://vtk.org">Visualization Toolkit</a> (VTK)</p></li> <li><p>mesh data structures and filtering methods for spatial datasets</p></li> <li><p>3D plotting made simple and built for large/complex data geometries</p></li> </ul> <p>PyVista is a helper library for the Visualization Toolkit (VTK) that takes a different approach on interfacing with VTK through NumPy and direct array access. This package provides a Pythonic, well-documented interface exposing VTK’s powerful visualization backend to facilitate rapid prototyping, analysis, and visual integration of spatially referenced datasets.</p> <p>This module can be used for scientific plotting for presentations and research papers as well as a supporting module for other mesh dependent Python modules.</p> <p>Share this project on X: <a class="reference external" href="https://twitter.com/intent/tweet?text=Check%20out%20this%20project%20for%203D%20visualization%20in%20Python&amp;url=https://github.com/pyvista/pyvista&amp;hashtags=3D,visualization,Python,vtk,mesh,plotting,PyVista"><img alt="tweet" src="https://img.shields.io/twitter/url.svg?style=social&amp;url=http%3A%2F%2Fshields.io" /></a></p> <p>Want to test-drive PyVista? Check out our live examples on MyBinder: <a class="reference external" href="https://mybinder.org/v2/gh/pyvista/pyvista-examples/master"><img alt="Launch on Binder" src="https://static.mybinder.org/badge_logo.svg" /></a></p> <div class="sd-container-fluid sd-sphinx-override sd-mb-4 docutils"> <div class="sd-row docutils"> <div class="sd-col sd-d-flex-row docutils"> <div class="sd-card sd-sphinx-override sd-w-100 sd-shadow-sm sd-card-hover docutils"> <div class="sd-card-body docutils"> <div class="sd-card-title sd-font-weight-bold pyvista-card-title docutils"> PyVista is a NumFOCUS affiliated project</div> <a class="reference external image-reference" href="https://numfocus.org/sponsored-projects/affiliated-projects"><img alt="NumFOCUS affiliated projects" src="https://raw.githubusercontent.com/numfocus/templates/master/images/numfocus-logo.png" style="height: 60px;" /> </a> </div> <a class="sd-stretched-link sd-hide-link-text reference external" href="https://numfocus.org/sponsored-projects/affiliated-projects"><span>https://numfocus.org/sponsored-projects/affiliated-projects</span></a></div> </div> </div> </div> <div class="toctree-wrapper compound"> </div> </section> <section id="brief-examples"> <h1>Brief Examples<a class="headerlink" href="#brief-examples" title="Link to this heading">#</a></h1> <p>Here are some brief interactive examples that demonstrate how you might want to use PyVista:</p> <section id="maps-and-geoscience"> <h2>Maps and Geoscience<a class="headerlink" href="#maps-and-geoscience" title="Link to this heading">#</a></h2> <p>Download the surface elevation map of Mount St. Helens and plot it.</p> <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pyvista</span> <span class="kn">import</span> <span class="n">examples</span> <span class="n">mesh</span> <span class="o">=</span> <span class="n">examples</span><span class="o">.</span><span class="n">download_st_helens</span><span class="p">()</span> <span class="n">warped</span> <span class="o">=</span> <span class="n">mesh</span><span class="o">.</span><span class="n">warp_by_scalar</span><span class="p">(</span><span class="s1">&#39;Elevation&#39;</span><span class="p">)</span> <span class="n">surf</span> <span class="o">=</span> <span class="n">warped</span><span class="o">.</span><span class="n">extract_surface</span><span class="p">()</span><span class="o">.</span><span class="n">triangulate</span><span class="p">()</span> <span class="n">surf</span> <span class="o">=</span> <span class="n">surf</span><span class="o">.</span><span class="n">decimate_pro</span><span class="p">(</span><span class="mf">0.75</span><span class="p">)</span> <span class="c1"># reduce the density of the mesh by 75%</span> <span class="n">surf</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">cmap</span><span class="o">=</span><span class="s1">&#39;gist_earth&#39;</span><span class="p">)</span> </pre></div> </div> <div class="sd-tab-set docutils"> <input checked="checked" id="sd-tab-item-0" name="sd-tab-set-0" type="radio"> <label class="sd-tab-label" for="sd-tab-item-0"> Static Scene</label><div class="sd-tab-content docutils"> <figure class="align-default"> <img alt="_images/index-2_00_002.png" src="_images/index-2_00_002.png" /> </figure> </div> <input id="sd-tab-item-1" name="sd-tab-set-0" type="radio"> <label class="sd-tab-label" for="sd-tab-item-1"> Interactive Scene</label><div class="sd-tab-content docutils"> <iframe src='_static/static_viewer.html?fileURL=../_images/plot_directive/index-2_00_00.vtksz' width='100%%' height='400px' frameborder='0'></iframe> </div> </div> </section> <section id="finite-element-analysis"> <h2>Finite Element Analysis<a class="headerlink" href="#finite-element-analysis" title="Link to this heading">#</a></h2> <p>Plot the ‘X’ component of elastic stress of a 3D notch specimen.</p> <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pyvista</span> <span class="kn">import</span> <span class="n">examples</span> <span class="n">mesh</span> <span class="o">=</span> <span class="n">examples</span><span class="o">.</span><span class="n">download_notch_stress</span><span class="p">()</span> <span class="n">mesh</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">scalars</span><span class="o">=</span><span class="s1">&#39;Nodal Stress&#39;</span><span class="p">,</span> <span class="n">component</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">cmap</span><span class="o">=</span><span class="s1">&#39;turbo&#39;</span><span class="p">,</span> <span class="n">cpos</span><span class="o">=</span><span class="s1">&#39;xy&#39;</span><span class="p">)</span> </pre></div> </div> <div class="sd-tab-set docutils"> <input checked="checked" id="sd-tab-item-2" name="sd-tab-set-1" type="radio"> <label class="sd-tab-label" for="sd-tab-item-2"> Static Scene</label><div class="sd-tab-content docutils"> <figure class="align-default"> <img alt="_images/index-3_00_001.png" src="_images/index-3_00_001.png" /> </figure> </div> <input id="sd-tab-item-3" name="sd-tab-set-1" type="radio"> <label class="sd-tab-label" for="sd-tab-item-3"> Interactive Scene</label><div class="sd-tab-content docutils"> <iframe src='_static/static_viewer.html?fileURL=../_images/plot_directive/index-3_00_00.vtksz' width='100%%' height='400px' frameborder='0'></iframe> </div> </div> </section> <section id="simple-point-cloud-with-numpy"> <h2>Simple Point Cloud with NumPy<a class="headerlink" href="#simple-point-cloud-with-numpy" title="Link to this heading">#</a></h2> <p>Easily integrate with NumPy and create a variety of geometries and plot them. You could use any geometry to create your glyphs, or even plot the points directly.</p> <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> <span class="kn">import</span> <span class="nn">pyvista</span> <span class="n">rng</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">default_rng</span><span class="p">(</span><span class="n">seed</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> <span class="n">point_cloud</span> <span class="o">=</span> <span class="n">rng</span><span class="o">.</span><span class="n">random</span><span class="p">((</span><span class="mi">100</span><span class="p">,</span> <span class="mi">3</span><span class="p">))</span> <span class="n">pdata</span> <span class="o">=</span> <span class="n">pyvista</span><span class="o">.</span><span class="n">PolyData</span><span class="p">(</span><span class="n">point_cloud</span><span class="p">)</span> <span class="n">pdata</span><span class="p">[</span><span class="s1">&#39;orig_sphere&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span> <span class="c1"># create many spheres from the point cloud</span> <span class="n">sphere</span> <span class="o">=</span> <span class="n">pyvista</span><span class="o">.</span><span class="n">Sphere</span><span class="p">(</span><span class="n">radius</span><span class="o">=</span><span class="mf">0.02</span><span class="p">,</span> <span class="n">phi_resolution</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">theta_resolution</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span> <span class="n">pc</span> <span class="o">=</span> <span class="n">pdata</span><span class="o">.</span><span class="n">glyph</span><span class="p">(</span><span class="n">scale</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">geom</span><span class="o">=</span><span class="n">sphere</span><span class="p">,</span> <span class="n">orient</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> <span class="n">pc</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">cmap</span><span class="o">=</span><span class="s1">&#39;Reds&#39;</span><span class="p">)</span> </pre></div> </div> <div class="sd-tab-set docutils"> <input checked="checked" id="sd-tab-item-4" name="sd-tab-set-2" type="radio"> <label class="sd-tab-label" for="sd-tab-item-4"> Static Scene</label><div class="sd-tab-content docutils"> <figure class="align-default"> <img alt="_images/index-4_00_00.png" src="_images/index-4_00_00.png" /> </figure> </div> <input id="sd-tab-item-5" name="sd-tab-set-2" type="radio"> <label class="sd-tab-label" for="sd-tab-item-5"> Interactive Scene</label><div class="sd-tab-content docutils"> <iframe src='_static/static_viewer.html?fileURL=../_images/plot_directive/index-4_00_00.vtksz' width='100%%' height='400px' frameborder='0'></iframe> </div> </div> </section> <section id="plot-a-spline"> <h2>Plot a Spline<a class="headerlink" href="#plot-a-spline" title="Link to this heading">#</a></h2> <p>Generate a spline from an array of NumPy points.</p> <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> <span class="kn">import</span> <span class="nn">pyvista</span> <span class="c1"># Make the xyz points</span> <span class="n">theta</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="o">-</span><span class="mi">10</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span> <span class="mi">10</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span> <span class="mi">100</span><span class="p">)</span> <span class="n">z</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">100</span><span class="p">)</span> <span class="n">r</span> <span class="o">=</span> <span class="n">z</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="mi">1</span> <span class="n">x</span> <span class="o">=</span> <span class="n">r</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">theta</span><span class="p">)</span> <span class="n">y</span> <span class="o">=</span> <span class="n">r</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">theta</span><span class="p">)</span> <span class="n">points</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">column_stack</span><span class="p">((</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">z</span><span class="p">))</span> <span class="n">spline</span> <span class="o">=</span> <span class="n">pyvista</span><span class="o">.</span><span class="n">Spline</span><span class="p">(</span><span class="n">points</span><span class="p">,</span> <span class="mi">500</span><span class="p">)</span><span class="o">.</span><span class="n">tube</span><span class="p">(</span><span class="n">radius</span><span class="o">=</span><span class="mf">0.1</span><span class="p">)</span> <span class="n">spline</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">scalars</span><span class="o">=</span><span class="s1">&#39;arc_length&#39;</span><span class="p">,</span> <span class="n">show_scalar_bar</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> </pre></div> </div> <div class="sd-tab-set docutils"> <input checked="checked" id="sd-tab-item-6" name="sd-tab-set-3" type="radio"> <label class="sd-tab-label" for="sd-tab-item-6"> Static Scene</label><div class="sd-tab-content docutils"> <figure class="align-default"> <img alt="_images/index-5_00_00.png" src="_images/index-5_00_00.png" /> </figure> </div> <input id="sd-tab-item-7" name="sd-tab-set-3" type="radio"> <label class="sd-tab-label" for="sd-tab-item-7"> Interactive Scene</label><div class="sd-tab-content docutils"> <iframe src='_static/static_viewer.html?fileURL=../_images/plot_directive/index-5_00_00.vtksz' width='100%%' height='400px' frameborder='0'></iframe> </div> </div> </section> <section id="boolean-operations-on-meshes"> <h2>Boolean Operations on Meshes<a class="headerlink" href="#boolean-operations-on-meshes" title="Link to this heading">#</a></h2> <p>Subtract a sphere from a cube mesh.</p> <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">pyvista</span> <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> <span class="k">def</span> <span class="nf">make_cube</span><span class="p">():</span> <span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="o">-</span><span class="mf">0.5</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">,</span> <span class="mi">25</span><span class="p">)</span> <span class="n">grid</span> <span class="o">=</span> <span class="n">pyvista</span><span class="o">.</span><span class="n">StructuredGrid</span><span class="p">(</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">meshgrid</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">x</span><span class="p">))</span> <span class="n">surf</span> <span class="o">=</span> <span class="n">grid</span><span class="o">.</span><span class="n">extract_surface</span><span class="p">()</span><span class="o">.</span><span class="n">triangulate</span><span class="p">()</span> <span class="n">surf</span><span class="o">.</span><span class="n">flip_normals</span><span class="p">()</span> <span class="k">return</span> <span class="n">surf</span> <span class="c1"># Create example PolyData meshes for boolean operations</span> <span class="n">sphere</span> <span class="o">=</span> <span class="n">pyvista</span><span class="o">.</span><span class="n">Sphere</span><span class="p">(</span><span class="n">radius</span><span class="o">=</span><span class="mf">0.65</span><span class="p">,</span> <span class="n">center</span><span class="o">=</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">))</span> <span class="n">cube</span> <span class="o">=</span> <span class="n">make_cube</span><span class="p">()</span> <span class="c1"># Perform a boolean difference</span> <span class="n">boolean</span> <span class="o">=</span> <span class="n">cube</span><span class="o">.</span><span class="n">boolean_difference</span><span class="p">(</span><span class="n">sphere</span><span class="p">)</span> <span class="n">boolean</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">color</span><span class="o">=</span><span class="s1">&#39;darkgrey&#39;</span><span class="p">,</span> <span class="n">smooth_shading</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">split_sharp_edges</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> </pre></div> </div> <div class="sd-tab-set docutils"> <input checked="checked" id="sd-tab-item-8" name="sd-tab-set-4" type="radio"> <label class="sd-tab-label" for="sd-tab-item-8"> Static Scene</label><div class="sd-tab-content docutils"> <figure class="align-default"> <img alt="_images/index-6_00_00.png" src="_images/index-6_00_00.png" /> </figure> </div> <input id="sd-tab-item-9" name="sd-tab-set-4" type="radio"> <label class="sd-tab-label" for="sd-tab-item-9"> Interactive Scene</label><div class="sd-tab-content docutils"> <iframe src='_static/static_viewer.html?fileURL=../_images/plot_directive/index-6_00_00.vtksz' width='100%%' height='400px' frameborder='0'></iframe> </div> </div> </section> <section id="plot-volumetric-data"> <h2>Plot Volumetric Data<a class="headerlink" href="#plot-volumetric-data" title="Link to this heading">#</a></h2> <p>Plot the <span class="math notranslate nohighlight">\(3d_{xy}\)</span> orbital of a hydrogen atom.</p> <div class="admonition note"> <p class="admonition-title">Note</p> <p>This example requires <a class="reference external" href="https://www.sympy.org/">sympy</a>.</p> </div> <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pyvista</span> <span class="kn">import</span> <span class="n">examples</span> <span class="n">grid</span> <span class="o">=</span> <span class="n">examples</span><span class="o">.</span><span class="n">load_hydrogen_orbital</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="o">-</span><span class="mi">2</span><span class="p">)</span> <span class="n">grid</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">volume</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">opacity</span><span class="o">=</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="n">cmap</span><span class="o">=</span><span class="s1">&#39;magma&#39;</span><span class="p">)</span> </pre></div> </div> <figure class="align-default"> <img alt="_images/index-7_00_00.png" src="_images/index-7_00_00.png" /> </figure> </section> </section> <section id="translating"> <h1>Translating<a class="headerlink" href="#translating" title="Link to this heading">#</a></h1> <p>The recommended way for new contributors to translate PyVista’s documentation is to join the translation team on Transifex.</p> <p>There is a <a class="reference external" href="https://app.transifex.com/signin/?next=/tkoyama010/pyvista-doc/">pyvista translation page</a> for pyvista (main) documentation.</p> <ol class="arabic simple"> <li><p>Login to <a class="reference external" href="https://app.transifex.com/signin/?next=/home/">transifex</a> service.</p></li> <li><p>Go to <a class="reference external" href="https://app.transifex.com/signin/?next=/tkoyama010/pyvista-doc/">pyvista translation page</a>.</p></li> <li><p>Click <code class="docutils literal notranslate"><span class="pre">Request</span> <span class="pre">language</span></code> and fill form.</p></li> <li><p>Wait acceptance by transifex pyvista translation maintainers.</p></li> <li><p>(After acceptance) Translate on transifex.</p></li> <li><p>We can host the translated document in <a class="reference external" href="https://pyvista.github.io/pyvista-docs-dev-ja/index.html">GitHub Pages</a> by creating <a class="reference external" href="https://github.com/pyvista/pyvista-docs-dev-ja">GitHub repository</a>.</p></li> <li><p>Translation is backed up in <a class="reference external" href="https://github.com/pyvista/pyvista-doc-translations">pyvista-doc-translations</a>.</p></li> </ol> <p>Details can be found here: <a class="reference external" href="https://help.transifex.com/en/">https://help.transifex.com/en/</a></p> </section> <section id="status"> <h1>Status<a class="headerlink" href="#status" title="Link to this heading">#</a></h1> <div class="pst-scrollable-table-container"><table class="table"> <tbody> <tr class="row-odd"><td><p>Deployment</p></td> <td><p><a class="reference external" href="https://pypi.org/project/pyvista/"><img alt="pypi" src="https://img.shields.io/pypi/v/pyvista.svg?logo=python&amp;logoColor=white" /></a></p></td> <td><p><a class="reference external" href="https://anaconda.org/conda-forge/pyvista"><img alt="conda" src="https://img.shields.io/conda/vn/conda-forge/pyvista.svg?logo=conda-forge&amp;logoColor=white" /></a></p></td> </tr> <tr class="row-even"><td><p>Build Status</p></td> <td><p><a class="reference external" href="https://github.com/pyvista/pyvista/actions/workflows/testing-and-deployment.yml"><img alt="GH-CI" src="https://github.com/pyvista/pyvista/actions/workflows/testing-and-deployment.yml/badge.svg" /></a></p></td> <td><p><a class="reference external" href="https://www.python.org/downloads/"><img alt="python" src="https://img.shields.io/badge/python-3.8+-blue.svg" /></a></p></td> </tr> <tr class="row-odd"><td><p>Metrics</p></td> <td><p><a class="reference external" href="https://app.codacy.com/gh/pyvista/pyvista/dashboard"><img alt="codacy" src="https://app.codacy.com/project/badge/Grade/779ac6aed37548839384acfc0c1aab44" /></a></p></td> <td><p><a class="reference external" href="https://app.codecov.io/gh/pyvista/pyvista"><img alt="codecov" src="https://codecov.io/gh/pyvista/pyvista/branch/main/graph/badge.svg" /></a></p></td> </tr> <tr class="row-even"><td><p>Activity</p></td> <td><p><a class="reference external" href="https://pypi.org/project/pyvista/"><img alt="PyPIact" src="https://img.shields.io/pypi/dm/pyvista.svg?label=PyPI%20downloads" /></a></p></td> <td><p><a class="reference external" href="https://anaconda.org/conda-forge/pyvista"><img alt="condaact" src="https://img.shields.io/conda/dn/conda-forge/pyvista.svg?label=Conda%20downloads" /></a></p></td> </tr> <tr class="row-odd"><td><p>GitHub</p></td> <td><p><a class="reference external" href="https://github.com/pyvista/pyvista/graphs/contributors/"><img alt="contributors" src="https://img.shields.io/github/contributors/pyvista/pyvista.svg?logo=github&amp;logoColor=white" /></a></p></td> <td><p><a class="reference external" href="https://github.com/pyvista/pyvista"><img alt="GitHub" src="https://img.shields.io/github/stars/pyvista/pyvista.svg?style=social&amp;label=Stars" /></a></p></td> </tr> <tr class="row-even"><td><p>Citation</p></td> <td><p><a class="reference external" href="https://joss.theoj.org/papers/10.21105/joss.01450"><img alt="joss" src="https://joss.theoj.org/papers/78f2901bbdfbd2a6070ec41e8282d978/status.svg" /></a></p></td> <td><p><a class="reference external" href="https://zenodo.org/records/8415866"><img alt="zenodo" src="https://zenodo.org/badge/DOI/10.5281/zenodo.8415866.svg" /></a></p></td> </tr> <tr class="row-odd"><td><p>License</p></td> <td><p><a class="reference external" href="https://opensource.org/license/mit/"><img alt="MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" /></a></p></td> <td></td> </tr> <tr class="row-even"><td><p>Community</p></td> <td><p><a class="reference external" href="https://communityinviter.com/apps/pyvista/pyvista"><img alt="slack" src="https://img.shields.io/badge/Slack-PyVista-green.svg?logo=slack" /></a></p></td> <td><p><a class="reference external" href="https://github.com/pyvista/pyvista/discussions"><img alt="discuss" src="https://img.shields.io/badge/GitHub-Discussions-green?logo=github" /></a></p></td> </tr> </tbody> </table> </div> </section> <section id="professional-support"> <h1>Professional Support<a class="headerlink" href="#professional-support" title="Link to this heading">#</a></h1> <p>While PyVista is an Open Source project with a big community, you might be looking for professional support. This section aims to list companies with VTK/PyVista expertise who can help you with your software project.</p> <div class="pst-scrollable-table-container"><table class="table"> <tbody> <tr class="row-odd"><td><p>Company Name</p></td> <td><p>Kitware Inc.</p></td> </tr> <tr class="row-even"><td><p>Description</p></td> <td><p>Kitware is dedicated to build solutions for our customers based on our well-established open source platforms.</p></td> </tr> <tr class="row-odd"><td><p>Expertise</p></td> <td><p>CMake, VTK, PyVista, ParaView, Trame</p></td> </tr> <tr class="row-even"><td><p>Contact</p></td> <td><p><a class="reference external" href="https://www.kitware.com/contact/">https://www.kitware.com/contact/</a></p></td> </tr> </tbody> </table> </div> </section> <section id="project-index"> <h1>Project Index<a class="headerlink" href="#project-index" title="Link to this heading">#</a></h1> <ul class="simple"> <li><p><a class='reference internal' href='/genindex'><span class="std std-ref">Index</span></a></p></li> </ul> </section> </article> </div> <div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner"> <div class="sidebar-secondary-item"> <div id="pst-page-navigation-heading-2" class="page-toc tocsection onthispage"> <i class="fa-solid fa-list"></i> On this page </div> <nav class="bd-toc-nav page-toc" aria-labelledby="pst-page-navigation-heading-2"> <ul class="visible nav section-nav flex-column"> <li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#">Overview</a></li> <li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#brief-examples">Brief Examples</a><ul class="visible nav section-nav flex-column"> <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#maps-and-geoscience">Maps and Geoscience</a></li> <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#finite-element-analysis">Finite Element Analysis</a></li> <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#simple-point-cloud-with-numpy">Simple Point Cloud with NumPy</a></li> <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#plot-a-spline">Plot a Spline</a></li> <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#boolean-operations-on-meshes">Boolean Operations on Meshes</a></li> <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#plot-volumetric-data">Plot Volumetric Data</a></li> </ul> </li> <li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#translating">Translating</a></li> <li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#status">Status</a></li> <li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#professional-support">Professional Support</a></li> <li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#project-index">Project Index</a></li> </ul> </nav></div> <div class="sidebar-secondary-item"> <div class="tocsection editthispage"> <a href="https://github.com/pyvista/pyvista/edit/main/doc/source/index.rst"> <i class="fa-solid fa-pencil"></i> Edit on GitHub </a> </div> </div> </div></div> </div> <footer class="bd-footer-content"> </footer> </main> </div> </div> <!-- Scripts loaded after <body> so the DOM is not blocked --> <script src="_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b"></script> <script src="_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b"></script> <footer class="bd-footer"> <div class="bd-footer__inner bd-page-width"> <div class="footer-items__start"> <div class="footer-item"> <p class="copyright"> © Copyright 2017-2024, The PyVista Developers. <br/> </p> </div> </div> <div class="footer-items__end"> <div class="footer-item"> <p class="theme-version"> Built with the <a href="https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html">PyData Sphinx Theme</a> 0.15.4. </p></div> </div> </div> </footer> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10