python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python茎叶图

Python绘制茎叶图的示例代码

作者:微小冷

这篇文章主要为大家信息介绍了Python绘制茎叶图的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下

简介

茎叶图从外观来看,更像是火柴,由基线、茎线、茎头三部分构成。最简单的示例如下

import numpy as np
import matplotlib.pyplot as plt
plt.stem(np.sin(np.arange(10)))
plt.show()

参数

stem的完整参数如下

stem([locs,] heads, linefmt=None, markerfmt=None, basefmt=None, bottom=0, label=None, orientation='vertical', data=None)

其中

linefmt和basefmt字符串由两部分组成,分别用于设置茎线的颜色和类型,第一部分格式为Cx,表示色环中第x种颜色;第二部分可选’-', ‘–’, ‘-.’, ‘:’,表示线的虚实类型。当然,第一部分直接采取颜色缩写,比如r,g,b也是可以的。

markerfmt也是同样的格式,但用于调整茎头标记点的字符与线型有所差异。其具体可选值存放在Line2D中

from matplotlib.lines import Line2D
 from pprint import pprint
 pprint(Line2D.markers)

打印结果是一个字典,列表如下

0‘tickleft’1‘tickright’2‘tickup’
3‘tickdown’4‘caretleft’5‘caretright’
6‘caretup’7‘caretdown’8‘caretleftbase’
9‘caretrightbase’10‘caretupbase’11‘caretdownbase’
‘’‘nothing’’ ’‘nothing’‘*’‘star’
‘+’‘plus’‘,’‘pixel’‘.’‘point’
‘1’‘tri_down’‘2’‘tri_up’‘3’‘tri_left’
‘4’‘tri_right’‘8’‘octagon’‘<’‘triangle_left’
‘>’‘triangle_right’‘D’‘diamond’‘H’‘hexagon2’
None’‘nothing’‘P’‘plus_filled’‘X’‘x_filled’
‘^’‘triangle_up’‘_’‘hline’‘d’‘thin_diamond’
‘h’‘hexagon1’‘none’‘nothing’‘o’‘circle’
‘p’‘pentagon’‘s’‘square’‘v’‘triangle_down’
‘x’‘x’‘vline’

演示

下面演示一下不同格式的效果

lf = ['C0-', 'C1--', 'C2-.', 'C3:']
mf = ['C40', 'r*', 'g8', 'bD']

xs = np.sin(np.arange(10))

fig = plt.figure()
for i in range(4):
    ax = fig.add_subplot(2,2,i+1)
    ax.stem(xs, linefmt=lf[i], markerfmt=mf[i])
    plt.title(f"linefmt={lf[i]}, markerfmt={mf[i]}")

plt.show()

效果如下

到此这篇关于Python绘制茎叶图的示例代码的文章就介绍到这了,更多相关Python茎叶图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文