温馨提示×

python如何做核密度函数

九三
588
2021-02-18 15:58:26
栏目: 编程语言

python如何做核密度函数

在python中实现核密度函数,具体方法如下:

def KdePlot(x):

import seaborn as sns

import matplotlib.pyplot as plt

# 设置中文显示

plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文字体设置-黑体

plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题


# 绘制核密度分布直方图

plt.figure()

sns.set(style='white', # 设置边框颜色

font = 'SimHei') # 设置中文字体

sns.distplot(x, # 指定绘图数据

color='orange', # 设置绘图颜色

kde=True, # 绘制密度曲线

hist=True, # 绘制直方图

rug=True, # 绘制 rug 图(变量分布)

kde_kws = {"shade": True, # 进行面积填充

"color": 'darkorange', # 设置线条颜色

# 'linewidth': 1.0, # 设置线条粗细

'facecolor': 'gray'}, # 设置填充颜色

rug_kws = {'color': 'red', # 设置 rug 颜色

'height': 0.1}) # 设置 rug 长度

# vertical = True) # 颠倒 x-y 轴位置


plt.title('我是标题') # 设置图片标题

plt.xlabel('Label') # 设置 x 轴标签

plt.ylabel('density') # 设置 y 轴标签

plt.savefig('out.png', dpi=300) # 存储图片

plt.show()



# 读取数据

def reader(data):

import pandas as pd

file = pd.read_csv(data, sep='\s+')

data = pd.DataFrame(file, columns=['x', 'value'])

x = data['x']

y = data['value']

return x, y



# 代码执行部分

data = 'data.txt'

x, y = reader(data)

KdePlot(y)


效果图:

python如何做核密度函数


0