Python数据可视化(五)——绘制核密度曲线图

一、数据准备

将实测数据保存到 data.txt

x	value
1	93
30	96
60	84
90	84
120	48
150	38
180	51
210	57
240	40
270	45
300	50
330	75
360	80
390	60
420	72
450	67
480	71
510	7
540	74
570	63
600	69
二、代码实现
# 绘制核密度曲线图
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)

# 参考资料:https://www.cnblogs.com/feffery/p/11128113.html

三、效果展示

在这里插入图片描述

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值