社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

【Python基础】使用统计函数绘制简单图形

小白学视觉 • 4 年前 • 368 次点击  

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

# -*- coding:utf-8 -*-import matplotlib as mplimport matplotlib.pyplot as pltimport numpy as np%matplotlib inline%config InlineBackend.figure_format = 'svg'# https://blog.csdn.net/minixuezhen/article/details/81516949plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']mpl.rcParams["axes.unicode_minus"]=False

2.1 函数bar 用于绘制柱状图


# some simple datax = [1,2,3,4,5,6,7,8]y = [3,1,4,5,8,9,7,2]
# create barplt.bar(x,y,align='center',color="c",tick_label=["q","a","c","e","r","j","b","p"])
# labelplt.xlabel("箱子编号")plt.ylabel("箱子重量(kg)")
plt.show()

2.2 函数barh 用于绘制条形图


# some simple datax = [1,2,3,4,5,6,7,8]y = [3,1,4,5,8,9,7,2]
# create barplt.barh(x,y,align='center',color="c",tick_label=["q","a","c","e","r","j","b","p"],hatch="/")
# labelplt.xlabel("箱子编号")plt.ylabel("箱子重量(kg)")
plt.show()

2.3 函数hist 用于绘制直方图


直方图与柱状图的区别


# set test scoresboxWeight = np.random.randint(0,10,100)x = boxWeight # 对该数据集进行统计
# plot histogrambins = range(0,11,1) # 设置连续的边界值,即直方图的分布区间[0,1],[1,2]......plt.hist(x, bins=bins, histtype="bar", rwidth=1, alpha=0.6)
# labelplt.xlabel("箱子重量(kg)")plt.ylabel("销售数量(个)")
plt.show()


函数pie 用于绘制饼图


kinds = "简易箱","保温箱","行李箱","密封箱"colors = "#e41a1c", "#377eb8", "#4daf4a", "#984ea3"soldsNums = [0.05,0.45,0.15,0.35]# pie chartplt.pie(soldsNums,labels=kinds,autopct="%3.1f%%", startangle=60, colors=colors)plt.title("不同类型个箱子的销售数量占比")plt.show()

2.5 函数polor 用于绘制极线图


极线图是在极坐标系上绘出的一种图。在极坐标系中,要确定一个点,需要指明这个点距原点的角度和半径。将这些点连在一起,就构成了极线图。


barSlices = 12theta = np.linspace(0.0, 2*np.pi, barSlices, endpoint=False)r = 30*np.random.rand(barSlices)# theta 角度 r 距离原点的距离 mfc点的颜色 ms点的大小plt.polar(theta, r, color="chartreuse", linewidth=2, marker="*",mfc="b",ms=10)plt.show()

2.6 函数scatter 用于绘制气泡图


二维数据借助气泡大小展示三维数据


a = np.random.randn(100)b = np.random.randn(100)# s 散点标记的大小 c 散点标记的颜色 cmap 讲浮点数映射为颜色的映射表plt.scatter(a, b, s=np.power(10*a+20*b,2),c=np.random.rand(100),cmap=mpl.cm.RdYlBu,marker="o")plt.show()

2.7 函数stem 用于绘制棉棒图


x = np.linspace(0.5, 2*np.pi,20)y = np.random.randn(20)
# y棉棒长度 linefmt棉棒样式 markerfmt棉棒末端样式 basefmt基线样式plt.stem(x,y,linefmt="-.",markerfmt="o",basefmt="-", use_line_collection=True)plt.show()




2.8 函数boxplot 用于绘制箱线图




箱线图是一个能够通过5个数字来描述数据的分布的标准方式,这5个数字包括:最小值,第一分位,中位数,第三分位数,最大值,箱线图能够明确的展示离群点的信息。箱子的中间一条线,是数据的中位数,代表了样本数据的平均水平。箱子的上下限,分别是数据的上四分位数和下四分位数。这意味着箱子包含了50%的数据。


x = np.random.randn(1000)plt.boxplot(x)
plt.xticks([1],["随机数生成器alphaRM"])plt.ylabel("随机数值")plt.title("随机数生成器抗干扰能力的稳定性")
plt.grid(axis="y",ls=":",lw=1,color="gray",alpha=0.4)plt.show()

2.9 函数errorbar 用于绘制误差棒图


x= np.linspace(0.1,0.6,6)y = np.exp(x)# yerr y轴方向误差 xerr x轴方向误差plt.errorbar(x, y, fmt="bo:", yerr=0.2, xerr=0.02)plt.xlim(0,0.7)plt.show()


下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复: Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/119298