首页 > 其他分享 >puthon画图|hist()函数深度探索

puthon画图|hist()函数深度探索

时间:2024-11-11 15:18:42浏览次数:3  
标签:puthon auto 画图 hist xdata ax n4 bins

【1】引言

前述已经对hist()函数有相对深度的探索,但还没有彻底,今天继续探索。

前述文章可通过下述链接直达:

python画图|hist()函数高阶探索-CSDN博客

【2】官网教程

在官网的教程中,提供了一种直方图多子图绘制方法,相关链接为:

Histogram bins, density, and weight — Matplotlib 3.9.2 documentation

在这里,我们看到用不同形式对自变量进行频次密度进行直方图表达。

【3】代码解读

主要研究下述代码:

fig, ax = plt.subplot_mosaic([['auto', 'n4']],
                             sharex=True, sharey=True, layout='constrained')

ax['auto'].hist(xdata, **style)
ax['auto'].plot(xdata, 0*xdata, 'd')
ax['auto'].set_ylabel('Number per bin')
ax['auto'].set_xlabel('x bins (auto)')

ax['n4'].hist(xdata, bins=4, **style)
ax['n4'].plot(xdata, 0*xdata, 'd')
ax['n4'].set_xlabel('x bins ("bins=4")')

首先,第一行代码调用subplot_mosaic()函数,按照左右分列的形式,规定了两个字符['auto', 'n4']。

plt.subplot_mosaic([['auto', 'n4']],
                             sharex=True, sharey=True, layout='constrained')

如果对第一行代码规定子图是左右分列形式有些不懂,可以通过下述文章解读疑惑:

python画图|灵活的subplot_mosaic()函数-初逢-CSDN博客

然后后面的部分就非常简单,直接调用subplot_mosaic()函数内的字符作为ax[]函数画图的位置依据,分别绘制hist()函数直方图和plot()函数曲线图。

运行代码后绘制的图形为:

图1

此时的完整代码为:

import matplotlib.pyplot as plt  #引入画图模块
import numpy as np #引入计算模块

rng = np.random.default_rng(19680801) #定义数据发生器,方便定义array数组

xdata = np.array([1.2, 2.3, 3.3, 3.1, 1.7, 3.4, 2.1, 1.25, 1.3,2.3,2.6,2.8]) #定义自变量
xbins = np.array([1, 2, 3, 5]) #定义画图区间
#xdata=np.linspace(1,5,1000)
# changing the style of the histogram bars just to make it
# very clear where the boundaries of the bins are:
style = {'facecolor': 'none', 'edgecolor': 'C0', 'linewidth': 3} #定义画图风格,
fig, ax = plt.subplot_mosaic([['auto', 'n4']], #调用subplot_mosaic()函数,按照左右分列的形式,规定了两个字符
                             sharex=True, sharey=True, layout='constrained') #共享坐标轴

ax['auto'].hist(xdata, **style) #画左边的图形,用hist()直方图的形式
ax['auto'].plot(xdata, 0*xdata, 'd') #画左边的图形,用plot()曲线的形式
ax['auto'].set_ylabel('Number per bin') #设置Y轴标签
ax['auto'].set_xlabel('x bins (auto)') #设置X轴标签

ax['n4'].hist(xdata, bins=4, **style) #画右边的图形,用hist()直方图的形式
ax['n4'].plot(xdata, 0*xdata, 'd') #画右边的图形,用plot()曲线的形式
ax['n4'].set_xlabel('x bins ("bins=4")') #设置X轴标签
plt.show() #输出图形

这里需要说明的是:

ax['auto'].hist(xdata, **style)代码段没有给出bins参数,也就是要画几个方格的说明,所以图形实际上按照“自动的形式”绘制了多个方格;

而ax['n4'].hist(xdata, bins=4, **style)明确指出了bins=4,图形按照预定的形式画出了4个方格。

【4】代码修改

接下来,如果我们想按照上下分列的显示输出图形,那就改下subplot_mosaic()函数代码:

fig, ax = plt.subplot_mosaic([['auto'],
                                     ['n4']], #调用subplot_mosaic()函数,按照上下分列的形式,规定了两个字符
                             sharex=True, sharey=True, layout='constrained') #共享坐标轴

此时运行代码的输出图像为:

图2

【5】总结

掌握了自动和按照计划输出直方图方格数量的操作技能。

标签:puthon,auto,画图,hist,xdata,ax,n4,bins
From: https://blog.csdn.net/weixin_44855046/article/details/143682320

相关文章

  • 84_api_intro_stock_hk_stockhkindexhistory
    港股指数历史行情数据API接口所有港股指数历史交易行情数据,港指历史数据,支持日期范围筛选。1.产品功能支持根据指数代码和日期范围查询港股指数历史交易数据返回历史交易数据的日期、港股指数代码、开盘价、最高价、最低价和收盘价毫秒级查询性能;支持传递港股指数代码,......
  • 31_api_intro_stock_cn_history
    A股历史行情数据API接口所有A股历史交易行情数据,全量历史交易/包含前后复权数据。1.产品功能支持所有A股全量历史(天)交易查询;包含上交所和深交所所有股票数据;每日A股收盘后更新当日交易数据,停牌不更新;支持一次查询多个股票历史数据;支持任意时间段查询;超高查询......
  • 51_api_intro_stock_fund_historyminute
    场内交易基金分时行情API数据接口实时分时交易数据,分钟级交易数据,多时间段区间。1.产品功能支持所有EFT基金分时交易数据查询;支持1、5、15、30、60分钟交易区间,注意:只返回近期的交易数据;参数支持获取历史数据;毫秒级查询性能;数据持续更新与维护;全接口支持HTTPS......
  • 47_api_intro_stock_fund_fundopenetfhistory
    场内交易基金历史数据API数据接口多维数据查询指标,场内基金数据,全量历史数据。1.产品功能支持所有场内交易基金历史数据查询;历史数据,支持指定日期范围返回基金数据;多数据源清洗整合,百万级数据毫秒级返回;数据持续更新与维护;全接口支持HTTPS(TLSv1.0/v1.1/v1.2/v......
  • 37_api_intro_stock_cn_stockcnindexhistory
    A股指数历史数据API数据接口股指历史数据,支持指数列表获取,返回所有指数历史数据。1.产品功能支持所有指数数据查询;支持全量指数历史数据查询;多维度的统计时间以及数据结果;秒级查询性能;数据持续更新与维护;全接口支持HTTPS(TLSv1.0/v1.1/v1.2/v1.3);全面兼容Ap......
  • [python turtle summary] Python 海龟画图 函数总结
    Turtle文档导入turtleimportturtleastimportturtlefromturtleimport*Turtle函数方法移动和绘制penup()抬笔pendown()落笔goto(x,y)移动forward(distance)|fd(distance)前进backward(distance)|back(distance)|bk(distance)后退right(angle)|rt(ang......
  • python画图|hist()函数深层体验
    【1】引言前述学习已经掌握hist()函数的基本运用技巧,可通过下述链接直达:python画图|hist()函数画直方图初探-CSDN博客 python画图|hist()函数画直方图进阶-CSDN博客我们已经理解hist()函数本质上画的是概率分布图,相关知识属于数理统计范畴,日常运用较多。为进一步实现运用......
  • Linux基础命令(八) 之 alias ,history,stat,type,特殊符号及命令行快捷键
    目录一,命令别名alias常见用法二,命令历史history参数及其作用常见用法三.显示文件或文件系统的详细信息stat参数及其作用常见用法四,显示命令的类型type参数及其作用常见用法五,特殊符号及命令行快捷键一,命令别名alias别名是命令的快捷方式。对于需要经常......
  • Flink历史服务器History Server部署:创建hdfs存储目录、启动和停止
    运行Flinkjob的集群一旦停止,只能去yarn或本地磁盘上查看日志,不再可以查看作业挂掉之前的运行的WebUI,很难清楚知道作业在挂的那一刻到底发生了什么。如果我们还没有Metrics监控的话,那么完全就只能通过日志去分析和定位问题了,所以如果能还原之前的WebUI,我们可以通......
  • 【已解决】vmware+ubunt14,编译海思3798MV100 ,HiSTBLinuxV100R005C00SPC050-master,报f
    于2023-07-1609:49:36发布没看懂,不知道问题出在哪里make[1]:Enteringdirectory/home/andy1231/Downloads/HiSTBLinuxV100R005C00SPC050-master/tools/linux/utils'make[1]:Enteringdirectory/home/andy1231/Downloads/HiSTBLinuxV100R005C00SPC050-master/source/kern......