科研论文配图学习
第3章 单变量图形的绘制
基于不同数据变量绘制的单变量图类型
单变量图形绘制
1.直方图
- 直方图绘制
- 带统计信息的直方图绘制
Matplotlib库绘制
使用库:Matplotlib/ProPlot/SciencePlots
# 绘制直方图
Matplotlib.axes.Axes.hist()
语法: Axes.hist(self,x,bins = None,range=None,density=None,weights=None,累计=False,bottom=None,histtype='bar ',align='mid ',orientation='vertical ',rwidth=None,log=False,color=None,label=None,stacked=False,normed=None,*,data=None,**kwargs)
参数:该方法接受以下描述的参数:
- x : 这个参数是数据的顺序。
- **bin:**该参数为可选参数,包含整数或序列或字符串。
- **范围:**该参数是可选参数,它是箱的下限和上限。
- **密度:**该参数为可选参数,包含布尔值。
- **权重:**该参数是可选参数,是权重数组,形状与 x 相同。
- **底部:**该参数是每个料仓底部基线的位置。
- histtype : 该参数为可选参数,用于绘制直方图的类型。{ ‘条形’,‘条形堆叠’,‘阶梯’,‘阶梯填充’ }
- **对齐:**此参数是可选参数,它控制直方图的绘制方式。{ ‘左’,‘中’,‘右’ }
- rwidth : 此参数是可选参数,它是条的相对宽度,是料箱宽度的一部分
- log : 此参数为可选参数,用于将直方图轴设置为对数刻度
- **颜色:**此参数是可选参数,它是一个颜色规格或颜色规格序列,每个数据集一个。
- **标签:**该参数为可选参数,为字符串,或字符串序列,用于匹配多个数据集。
- **赋范:**该参数为可选参数,包含布尔值。而是使用密度关键字参数。
返回:这将返回以下内容:
- n : 返回直方图仓的值。
- **面元:**这将返回面元的边缘。
- **面片:**返回用于创建直方图的单个面片列表。
Seaborn库绘制
我们还可以使用Seaborn
库中histplot()
函数绘制。
语法:
histplot(data,x,y,hue,weights,stat,bins,binwidth,binrange,shrink,cumulative,kde,palette,color,legend,element,fill,log_scale,multiple)参数:
- data:要绘制的数据,为DataFrame、数组、序列等类型,可缺省;
- x:上述data中的列索引或者直接给定横坐标的取值,同时指定了绘制横向直方图;
- y:上述data中的列索引或者直接给定纵坐标的取值,同时指定了绘制纵向直方图;
- hue:分组变量,生成具有不同颜色的行,可以为分类或者数字,往往取值为data中的列索引;
- wieghts:权重,如若给出权重,则在统计数据时将考虑权重的影响;
- stat:默认为’count’即显示数量,设置为’frequency’则显示频率,设置为’density’则显示密度即使直方图面积为1,设置为’probability’则使柱子高度为1;
- bins:划分区间的数量即柱子的数量;
- binwidth:柱子的宽度;
- binrange:柱子边缘的最小和最大值;
- shrink:各柱子之间的间隔,默认为1即无间隔,如果给定值小于1,则柱子之间有间隔,且取值越小,间隔越大,如果给定值大于1,则各柱子之间会有一定程度重叠;
- cumulative:设置为True则显示累积直方图;
- kde:设置为True则同时绘制密度曲线,默认为False即不显示密度线;
- palette:颜色面板;
- color:直方图颜色;
- legend:图例,设置为False则不显示图例;
- element:直方图形状,可取值为’bars’,‘step’,'poly’分别代表柱形、阶梯形、峰形;
- fill:是否填充直方图,默认True即填充,设置为False则不填充;
- log_scale:是否用对数坐标,默认为False,设置为True则利用对数坐标;
- multiple:多个变量的显示方式,可取值为’layer’, ‘dodge’,‘stack’,'fill’分别代表多图层、多列、堆叠、各组共同填充直方图。
- e:多个变量的显示方式,可取值为’layer’, ‘dodge’,‘stack’,'fill’分别代表多图层、多列、堆叠、各组共同填充直方图。
参考文献:《科研论文配图绘制指南:基于Python》