如何使用 matplotlib 绘制圆角线端
How to draw rounded line ends using matplotlib
假设我正在绘制这样一个复杂的值:
a=-0.49+1j*1.14
plt.polar([0,angle(x)],[0,abs(x)],linewidth=5)
给予
有没有我可以使用的设置来使线端变圆,例如下例中的红线(用油漆绘制)?
线路属性solid_capstyle
(docs)。还有一个 dash_capstyle
控制每个破折号处的线结束。
import matplotlib.pyplot as plt
import numpy as np
x = y = np.arange(5)
fig, ax = plt. subplots()
ln, = ax.plot(x, y, lw=10, solid_capstyle='round')
ln2, = ax.plot(x, 4-y, lw=10)
ln2.set_solid_capstyle('round')
ax.margins(.2)
这与 plt.polar
一样有效,后者是创建极轴并对其调用 plot
的便捷方法,以及它返回的 Line2D
对象。
假设我正在绘制这样一个复杂的值:
a=-0.49+1j*1.14
plt.polar([0,angle(x)],[0,abs(x)],linewidth=5)
给予
有没有我可以使用的设置来使线端变圆,例如下例中的红线(用油漆绘制)?
线路属性solid_capstyle
(docs)。还有一个 dash_capstyle
控制每个破折号处的线结束。
import matplotlib.pyplot as plt
import numpy as np
x = y = np.arange(5)
fig, ax = plt. subplots()
ln, = ax.plot(x, y, lw=10, solid_capstyle='round')
ln2, = ax.plot(x, 4-y, lw=10)
ln2.set_solid_capstyle('round')
ax.margins(.2)
这与 plt.polar
一样有效,后者是创建极轴并对其调用 plot
的便捷方法,以及它返回的 Line2D
对象。