python 3d绘图库_python – 用于科学3d绘图的Mayavi的替代品
在沒有令人滿意的第一個答案和無法解釋的downvote之后編輯:
我需要繪制一個在3D網(wǎng)格中構(gòu)造的標量字段,如下所示:
import numpy as np
from mayavi import mlab
dt = 10
X,Y,Z = np.mgrid[0:dt,0:dt,0:dt]
F = X**2+Y**2+Z**2
test = mlab.figure(size = (1024,768), bgcolor = (1,1,1), fgcolor = (0, 0, 0))
sf = mlab.pipeline.scalar_field(X,Y,Z,F)
vl = mlab.pipeline.volume(sf)
mlab.outline()
mlab.axes()
mlab.title('Can not change font size for this title')
mlab.xlabel('Only end ticks')
mlab.ylabel('No major ticks')
我想在Python中這樣做,因為我用這種語言模擬了許多數(shù)據(jù)集,我希望能夠在我的模擬參數(shù)中執(zhí)行靈敏度時快速可視化它們.
Mayavi似乎為科學3D繪圖提供了非常標準的例程.但是,當在出版物中傳達這些圖時,非常基本的繪圖自定義不可用,例如軸中的主要和次要刻度.此外,支持的那些非常基本的功能到目前為止甚至無法正常工作(例如,請參見字體大小bug和here中的示例).
Python中是否有任何體面且易于使用的科學3D繪圖庫?我曾嘗試學習vtk,但網(wǎng)站示例似乎已過時(例如volume rendering示例無法運行,我嘗試編輯多行代碼以使其無法運行)而其他人似乎同意文檔缺乏.
通過體面的科學繪圖庫,我的意思是:
>允許自定義軸,標簽,標題等字體.
>可以編輯軸刻度線間距(至少有主刻度線).
>可以添加彩條
>有文件.
提前致謝!
最佳答案 你應該嘗試matplotlib,如果你還沒有這樣做的話.使用meshgrid和contour或contourf(你可以在網(wǎng)上輕松找到腳本)來繪制結(jié)構(gòu)化網(wǎng)格上的數(shù)據(jù)并不困難.甚至可以在非結(jié)構(gòu)化網(wǎng)格上繪圖(檢查出來:
https://grantingram.wordpress.com/plotting-2d-unstructured-data-using-free-software/)
它具有“體面”科學繪圖庫的特點.
編輯:
當你說’3D’繪圖時,我假設你想要一個2變量函數(shù)的圖,所以它的圖是3D.
但是,如果您有依賴于3個空間變量的數(shù)據(jù),我假設您希望能夠顯示切割平面等.然后我建議您將數(shù)據(jù)輸出到文件并使用適當?shù)目梢暬?例如ParaView(使用VTK)或TecPlot(非自由).您可以通過腳本自動化可視化管道(我相信ParaView支持Python腳本).
總結(jié)
以上是生活随笔為你收集整理的python 3d绘图库_python – 用于科学3d绘图的Mayavi的替代品的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机系统账户被锁定,帐号已经被系统锁定
- 下一篇: python 报错继续执行_Python