matplotlib 线型linestyle的高级设置

官方文档的说明如图:

matplotlib 线型linestyle的高级设置_第1张图片

毫无疑问,在画虚线时可以写:

linestyle='--'

或者linestyle='dashed'

或者ls='--'

或者ls='dashed'

但实际效果我很不满意,虚线太密集了看起来和实线没什么区别。

代码:

axh=plt.axhline(df0.iloc[-1]['v'],
                linestyle='--', 
                lw=0.3, color='y')

效果如下图:

matplotlib 线型linestyle的高级设置_第2张图片

 

这时就得用(offset,onoffseq)形式,设置虚线每段的线段长度和间隔长度,及偏移量

修改代码中的linestyle:

axh=plt.axhline(df0.iloc[-1]['v'], 
                linestyle=(45,(55,20)), 
                lw=0.3, color='y')

 新的效果如下图:

matplotlib 线型linestyle的高级设置_第3张图片

解释一下linestyle=(45,(55,20))的含义:

每个线段长55,间隔长度20,从线长55的45处开始绘制(所以上图中虚线的第一段只有一小截儿)。

后面的那个元组叫on-off-seq,须是偶数长度的元组,如果是ls=(0,(55,20,75,30)),则表示画个长55的线段并且偏移量为0,然后是长20的间隔、再然后是长75的线段、长30的间隔,然后再是个长55的线段……如此循环

你可能感兴趣的:(matplotlib 线型linestyle的高级设置)