边缘直方图具有沿 X 和 Y 轴变量的直方图。 这用于可视化 X 和 Y 之间的关系以及单独的 X 和 Y 的单变量分布。 这种图经常用于探索性数据分析(EDA)。
# 导入numpy库 import numpy as np # 导入pandas库 import pandas as pd # 导入matplotlib库 import matplotlib as mpl import matplotlib.pyplot as plt # 导入seaborn库 import seaborn as sns # 在jupyter notebook显示图像 %matplotlib inline
large = 22; med = 16; small = 12 # 设置子图上的标题字体 params = {‘axes.titlesize‘: large, # 设置图例的字体 ‘legend.fontsize‘: med, # 设置图像的画布 ‘figure.figsize‘: (16, 10), # 设置标签的字体 ‘axes.labelsize‘: med, # 设置x轴上的标尺的字体 ‘xtick.labelsize‘: med, # 设置整个画布的标题字体 ‘ytick.labelsize‘: med, ‘figure.titlesize‘: large} # 更新默认属性 plt.rcParams.update(params) # 设定整体风格 plt.style.use(‘seaborn-whitegrid‘) # 设定整体背景风格 sns.set_style("white")
# step1:导入数据
# step2:创建子图对象与网格
# step3:明确子图的位置
# step4:散点图
# step5:右边的直方图
# step6:底部的直方图
# step7:装饰图像
matplotlib.pyplot.hist(x,bins=None,range=None, density=None, bottom=None, histtype=‘bar‘, align=‘mid‘,
log=False, color=None, label=None, stacked=False, normed=None)
x: 数据集,最终的直方图将对数据集进行统计 bins: 统计的区间分布 range: tuple, 显示的区间,range在没有给出bins时生效 density: bool,默认为false,显示的是频数统计结果,为True则显示频率统计结果,这里需要注意,频率统计结果=区间数目/(总数*区间宽度),和normed效果一致,官方推荐使用density histtype: 可选{‘bar‘, ‘barstacked‘, ‘step‘, ‘stepfilled‘}之一,默认为bar,推荐使用默认配置,step使用的是梯状,stepfilled则会对梯状内部进行填充,效果与bar类似 align: 可选{‘left‘, ‘mid‘, ‘right‘}之一,默认为‘mid‘,控制柱状图的水平分布,left或者right,会有部分空白区域,推荐使用默认 log: bool,默认False,即y坐标轴是否选择指数刻度 stacked: bool,默认为False,是否为堆积状图
数据可视化实例(八): 边缘直方图(matplotlib,pandas)
原文:https://www.cnblogs.com/qiu-hua/p/12877009.html