小编Hua*_*Wei的帖子

如何将标题放在matplotlib中的数字底部?

我使用matplotlib绘制一个带有四个子图的图形,set_title方法将title((a) (b) (c) (d))放在每个子图的顶部,参见下面的代码示例.

fig = pyplot.figure()
ax = fig.add_subplot(1, 4, 1)
ax.set_title('(a)')

但我想把每个标题放在每个子图的底部.我无法通过matplotlib文档和谷歌找出它.所以我需要你的帮助,非常感谢.

在此输入图像描述

python matplotlib title figure

7
推荐指数
1
解决办法
2万
查看次数

如何通过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)

python matplotlib tetrahedra

5
推荐指数
2
解决办法
1671
查看次数

`numpy.einsum`中的`out`参数无法按预期工作

我有两个码.第一个是:

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)

numpy python-3.5

5
推荐指数
1
解决办法
180
查看次数

如何在基于paraview的python脚本中显示vtkUnstructuredGrid?

我在我的 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)

python paraview pvpython

4
推荐指数
1
解决办法
931
查看次数

如何在vim函数中执行普通模式命令?

我正在编写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"将光标移至第二个命令"

vim command function

2
推荐指数
1
解决办法
1505
查看次数