matplotlib.pyplot.tricontour()函数 - 在非结构化的三角形网格上绘制轮廓

matplotlib.pyplot.tricontour()函数

Matplotlib是Python中的一个库,它是NumPy库的数值-数学扩展。Pyplot是一个基于状态的Matplotlib模块接口,该模块提供了一个类似matlab的接口。Pyplot中可以使用的绘图有直线图、轮廓图、直方图、散点图、三维图等。

示例代码

# sample code
import matplotlib.pyplot as plt 
    
plt.plot([1, 2, 3, 4], [16, 4, 1, 8]) 
plt.show() 

输出:

matplotlib.pyplot.tricontour()函数

matplotlib.pyplot.tricontour()函数

使用matplotlib库pyplot模块中的tricontour()函数在非结构化的三角形网格上绘制轮廓。

语法:

matplotlib.pyplot.tricontour(*args, **kwargs)

参数:该方法接受如下参数说明:

  • x, y:这些参数是要绘制的数据的x和y坐标。
  • triangulation:这个参数是一个matplotlib.tri.Triangulation对象。
  • Z:这个参数是等高线的值数组,在三角剖分中每个点一个值。
  • **kwargs:这个参数是Text属性,用于控制标签的外观。

所有剩余的参数和kwargs与matplotlib.pyplot相同。pcolor()。

返回2个Line2D的列表,包含以下内容:

  • 画出三角形边的线。
  • 标记为三角形节点

下面的例子演示了matplotlib.pyplot. triicontour()函数在matplotlib.pyplot中的作用:

示例1

# Implementation of matplotlib function
import matplotlib.pyplot as plt
import matplotlib.tri as mtri
import numpy as np
      
# Create triangulation.
x = np.asarray([0, 1, 2, 3, 0.5,
                1.5, 2.5, 1, 2, 1.5])
  
y = np.asarray([0, 0, 0, 0, 1.0, 
                1.0, 1.0, 2, 2, 3.0])
  
triangles = [[0, 1, 4], [1, 5, 4],
             [2, 6, 5], [4, 5, 7],
             [5, 6, 8], [5, 8, 7],
             [7, 8, 9], [1, 2, 5], 
             [2, 3, 6]]
  
triang = mtri.Triangulation(x, y, triangles)
z = np.cos(3 * x) * np.cos(6 * y)+np.sin(6 * x)
      
fig, axs = plt.subplots()
t = axs.tricontourf(triang, z)
axs.tricontour(triang, z, colors ='white')
fig.colorbar(t)
  
fig.suptitle('matplotlib.pyplot.tricontour() Example') 
plt.show()

输出:

matplotlib.pyplot.tricontour()函数

示例2

# Implementation of matplotlib function
import matplotlib.pyplot as plt
import matplotlib.tri as tri
import numpy as np
     
n_angles = 26
n_radii = 10
min_radius = 0.35
radii = np.linspace(min_radius, 
                    0.95, n_radii)
   
angles = np.linspace(0, 3 * np.pi,
                     n_angles, 
                     endpoint = False)
  
angles = np.repeat(angles[..., np.newaxis],
                   n_radii, axis = 1)
  
angles[:, 1::2] += np.pi / n_angles
   
x = (10 * radii * np.cos(angles)).flatten()
y = (10 * radii * np.sin(angles)).flatten()
z = (np.cos(16 * radii) * np.cos(3 * angles)+np.sin(8 * radii)).flatten()
   
triang = tri.Triangulation(x, y)
   
triang.set_mask(np.hypot(x[triang.triangles].mean(axis = 1),
                         y[triang.triangles].mean(axis = 1))
                < min_radius)
     
fig1, ax1 = plt.subplots()
ax1.set_aspect('equal')
tcf = ax1.tricontourf(triang, z)
fig1.colorbar(tcf)
ax1.tricontour(triang, z, colors ='k')
fig1.suptitle('matplotlib.pyplot.tricontour() Example') 
  
plt.show()

输出:

matplotlib.pyplot.tricontour()函数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程