我使用matplotlib绘制一个带有四个子图的图形,set_title方法将title((a) (b) (c) (d))放在每个子图的顶部,参见下面的代码示例.
fig = pyplot.figure()
ax = fig.add_subplot(1, 4, 1)
ax.set_title('(a)')
但我想把每个标题放在每个子图的底部.我无法通过matplotlib文档和谷歌找出它.所以我需要你的帮助,非常感谢.
我想通过绘制一个四面体网格matplotlib,以下是一个简单的四面体网格:
xyz = np.array([
[-1,-1,-1],
[ 1,-1,-1],
[ 1, 1,-1],
[-1, 1,-1],
[-1,-1, 1],
[ 1,-1, 1],
[ 1, 1, 1],
[-1, 1, 1]], dtype=np.float)
tets = np.array([
[0,1,2,6],
[0,5,1,6],
[0,4,5,6],
[0,7,4,6],
[0,3,7,6],
[0,2,3,6]], dtype=np.int)
Run Code Online (Sandbox Code Playgroud)
当然,在实际应用中,网格中的四面体数量可能很大。我在Google中找不到任何有用的帮助信息。那么绘制四面体网格的更好方法是matplotlib什么呢?
此外,我可以获得网格的所有三角形面。
tri = np.array([
[0 2 1]
[0 1 5]
[0 6 1]
[0 3 2]
[0 2 6]
[0 6 3]
[0 7 3]
[0 5 4]
[0 6 4]
[0 4 7]
[0 6 5]
[0 6 7] …Run Code Online (Sandbox Code Playgroud) 我有两个码.第一个是:
A = np.arange(3*4*3).reshape(3, 4, 3)
P = np.arange(1, 4)
A[:, 1:, :] = np.einsum('j, ijk->ijk', P, A[:, 1:, :])
Run Code Online (Sandbox Code Playgroud)
结果A是:
array([[[ 0, 1, 2],
[ 6, 8, 10],
[ 18, 21, 24],
[ 36, 40, 44]],
[[ 12, 13, 14],
[ 30, 32, 34],
[ 54, 57, 60],
[ 84, 88, 92]],
[[ 24, 25, 26],
[ 54, 56, 58],
[ 90, 93, 96],
[132, 136, 140]]])
Run Code Online (Sandbox Code Playgroud)
第二个是:
A = np.arange(3*4*3).reshape(3, 4, 3)
P = np.arange(1, 4) …Run Code Online (Sandbox Code Playgroud) 我在我的 Ubuntu 18.04 系统上安装了 paraview 5.6,我想编写一个 python 脚本来显示一个 vtkUnstructuredGrid。
import numpy as np
from paraview.simple import *
import paraview.vtk as vtk
from paraview.vtk.numpy_interface import dataset_adapter as dsa
import paraview.vtk.util.numpy_support as vnp
node = np.array(
[[0.0, 0.0, 0.0],
[1.0, 0.0, 0.0],
[1.0, 1.0, 0.0],
[0.0, 1.0, 0.0]], dtype=np.float)
cell = np.array([[3, 1, 2, 0], [3, 3, 0, 2]], dtype=np.int)
NC = cell.shape[0]
points = vtk.vtkPoints()
points.SetData(vnp.numpy_to_vtk(node))
cells = vtk.vtkCellArray()
cells.SetCells(NC, vnp.numpy_to_vtkIdTypeArray(cell))
uGrid =vtk.vtkUnstructuredGrid()
uGrid.SetPoints(points)
uGrid.SetCells(vtk.VTK_TRIANGLE, cells)
# how to put uGrid …Run Code Online (Sandbox Code Playgroud) 我正在编写vim函数以在c ++文件中插入一些文本,请参见以下函数:
function! InsertDebugInfo()
let i = line('.')
call append(i+1, '#ifdef DEBUG')
call append(i+2, 'std::cout << "" << std::endl;')
call append(i+3, '#endif')
call append(i+4, '')
call cursor(i+3, 0)
endfunction
Run Code Online (Sandbox Code Playgroud)
在正常模式下,我==用来重新缩进一条代码行。我的问题是如何==在上述函数中调用。此外,如何执行命令,例如2f"将光标移至第二个命令"。
python ×3
matplotlib ×2
command ×1
figure ×1
function ×1
numpy ×1
paraview ×1
pvpython ×1
python-3.5 ×1
tetrahedra ×1
title ×1
vim ×1