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)
其中
- locs和heads表示其x , y x,yx,y方向的值。如果只输入一组数值,则默认输入的是heads。
- linefmt, markerfmt, basefmt 均为字符串,分别用于定义茎线、茎头以及基线的格式。
- orientation 表示茎叶图方向,默认为’vertical’,若取值为’horizontal’,则茎叶图调转90°
- bottom 为基线的位置
- label 为图例中使用的标签
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茎叶图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python3:excel操作之读取数据并返回字典 + 写入的案例
这篇文章主要介绍了python3:excel操作之读取数据并返回字典 + 写入的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-09-09Python3自动生成MySQL数据字典的markdown文本的实现
这篇文章主要介绍了Python3自动生成MySQL数据字典的markdown文本的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-05-05keras自定义回调函数查看训练的loss和accuracy方式
这篇文章主要介绍了keras自定义回调函数查看训练的loss和accuracy方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-05-05解决pycharm启动后总是不停的updating indices...indexing的问题
今天小编就为大家分享一篇解决pycharm启动后总是不停的updating indices...indexing的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-11-11
最新评论