1

matplotlib 中的“tripcolor”类提供了一个非常强大的工具,可以为这些 2D 三角形创建等高线样式的图,就像:

plt.tripcolor(x,y,triangles,vars,cmap='PuOr')

虽然有许多类型的已定义颜色图可供使用,但现在我找不到适合这些三角形纯色填充的方法。有人知道怎么做吗?谢谢你告诉我。

4

1 回答 1

1

感觉很奇怪,但似乎最简单的解决方案是tripcolor用单一颜色填充绘图是创建一个只有单一颜色的颜色图并将其提供给三色。

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.colors

xy = np.asarray([ [-0.01, 0.9], [-0.1, 0.8], [-0.05, 0.6], [-0.08, 0.9]])
triangles = np.asarray([[3, 2, 0]  , [3, 1, 2],   [ 0, 2, 1] , [0, 1, 2]])

# generate some array of length same as xy
c = np.ones(len(xy))
# create a colormap with a single color
cmap = matplotlib.colors.ListedColormap("limegreen")
# tripcolorplot with a single color filling:
plt.tripcolor(xy[:,0],xy[:,1],triangles, c, edgecolor="k", lw=2, cmap=cmap)
plt.show()

在此处输入图像描述

于 2017-12-05T13:41:12.723 回答