使用matplotlib,可以使用
轻松绘制具有自定义短划线样式的线条plt.plot([0, 5], [0, 5], dashes=(20.0, 20.0))
plt.show()
或
lines = plt.plot([0, 5], [0, 5])
lines[0].set_dashes((20.0, 20.0))
plt.show()
虽然可以用虚线样式绘制箭头
plt.arrow(0, 0, 5, 5, linestyle='dashed')
plt.show()
我似乎无法弄清楚如何使用自定义短划线样式绘制箭头
arrow = plt.arrow(0, 0, 5, 5)
?
plt.show()
使用绘图函数的dashes
参数给出
AttributeError: 'FancyArrow' object has no attribute 'set_dashes'
并且错误提到返回的FancyArrow
没有set_dashes()
方法。有可能吗?
答案 0 :(得分:0)
目前,我认为不可能,因为Arrow
课程仅支持'solid' | 'dashed' | 'dashdot' | 'dotted'
四种不同的线型。为了能够使用自定义的破折号样式,该对象必须具有._dashSeq
缺少的Arrow
属性。因此,我可以看到.set_dashes
。
话虽如此,目前即使为.set_linestyle
提供Arrow
方法,您也可以设置为除上面列出的4种风格之外的任何其他内容。这意味着.set_linestyle('-')
之类的东西是不可能的。
答案 1 :(得分:0)
您可以传递一个(offset,onoffseq),其中onoffseq是一个以点为单位的均匀长度的on和off墨水元组。参见set_linestyle。
例如ax.arrow(0,0,2,2,linestyle =(5,(3,3)))。