matplotlib中的锯齿线条样式?

时间:2013-11-12 00:06:57

标签: python matplotlib

我正在寻找一个基本上是冷锋符号的linestyle / line-symbol组合: Triangles pointing up

我尝试使用标记选项添加三角形,其旋转与每个点的曲线斜率相匹配,但它看起来很丑陋,坦率地说不起作用。

是否有人知道如何创建这样的线条样式,或者知道任何类似这样的包装?谢谢!

1 个答案:

答案 0 :(得分:3)

这是我的尝试,我使用quiver绘制三角形,它需要该行的法线向量:

import pylab as pl
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

dx = np.diff(x)
dy = np.diff(y)

x2 = np.linspace(0, 2*np.pi, 10)
y2 = np.sin(x2)

dx = np.zeros_like(x2) + 1e-12
dy = np.sin(x2+dx) - y2

length = np.sqrt(dx**2 + dy**2)
dx /= length
dy /= length

fig, ax = pl.subplots()
ax.set_aspect("equal")
ax.plot(x, y, lw=4)

size = 20
ax.quiver(x2, y2, -dy, dx, headaxislength=size, headlength=size, headwidth=size, color="blue")
pl.margins(0.2)

输出:

enter image description here