一、简单的频次直方图
相关函数
plt.hist(x, # 输入数据
bins=None, # 条数
range=None, # x轴的范围,参数为元组
density=None, # 是否以密度的形式,参数为bool
weights=None,
cumulative=False,
bottom=None, # y轴的起始位置,参数为数值类型
histtype='bar', # 线条的类型, {'bar', 'barstacked', 'step', 'stepfilled'}
align='mid', # 对齐方式,{'left', 'mid', 'right'}
orientation='vertical', # 轴向,{'horizontal', 'vertical'}
rwidth=None,
log=False, # 单位是否以科学计数法
color=None, # 颜色
label=None,
stacked=False,
normed=None,
*,
data=None,
**kwargs)
简单实现
#coding:utf-8
%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.style.use('seaborn-white')
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.rcParams['figure.figsize'] = (10,4)
plt.rcParams['figure.dpi'] = 300
# 准备数据
data = np.random.normal(0,10,1000)
# 画图
plt.hist(data,
bins=50,
alpha=0.5,
color='b',
histtype='stepfilled',
density=True,
align='mid'
)
简单的频次直方图
二、二维频次直方图
相关函数
-
plt.hist2d()
:二维频次直方图
-
plt.hexbin()
:六边形区间划分
简单实现
# 准备数据
mean = [0,0]
cov = [[1,1],[1,2]]
x,y = np.random.multivariate_normal(mean,cov,10000).T
# 二维频次直方图
plt.hist2d(x,y,bins=30,cmap='Blues')
cb = plt.colorbar()
cb.set_label('count in bin')
# 六边形区间划分
plt.hexbin(x,y,gridsize=30,cmap='Blues')
cb = plt.colorbar(label='count in bin')
二维频次直方图
六边形区间划分
网友评论