python画分布图

一、分布图介绍

分布图(Distribution Plot)是数据可视化中一类常见的图表。它主要用于显示单变量或多个变量的分布情况。分布图可以通过直方图、核密度图、箱线图等形式来展现数据的分布情况。在数据探索和分析中,分布图是非常重要的工具。

二、直方图

直方图是展示单变量分布情况的一种方式。在分布图中,数据被分成多个等距的区间,然后给出每个区间内数据个数的条形图。直方图通常用来观察数据是否服从正态分布。Python有很多库可以用来绘制直方图,其中最常用的是matplotlib和seaborn库。

1.使用matplotlib绘制直方图

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
data = np.random.normal(0, 1, 1000)

# 绘制直方图
plt.hist(data, bins=30, density=True, alpha=0.5)

# 添加标题和轴标签
plt.title('Histogram of Random Data')
plt.xlabel('Value')
plt.ylabel('Frequency')

plt.show()

以上代码通过numpy库生成1000个正态分布数据,然后使用matplotlib库中的hist函数绘制直方图。bins参数指定数据被分成的区间数量,density参数用于归一化数据,alpha参数用于设置透明度。最后可以通过添加标题和轴标签让图像更加清晰易懂。

2.使用seaborn绘制直方图

import seaborn as sns
import numpy as np

# 生成随机数据
data = np.random.normal(0, 1, 1000)

# 绘制直方图
sns.histplot(data, kde=True)

# 添加标题和轴标签
plt.title('Histogram of Random Data')
plt.xlabel('Value')
plt.ylabel('Frequency')

plt.show()

以上代码使用seaborn库中的histplot函数绘制直方图,kde参数用于添加核密度估计图。相比于matplotlib库,seaborn库的绘图风格更为美观。在实际开发中,可以根据实际需要选择适合的库。

三、核密度图

核密度图(KDE)是展示单变量或多变量分布情况的一种方式。在分布图中,每个数据点被视为一个高斯核函数,然后将所有核函数叠加在一起形成一条平滑的曲线。核密度图通常用来观察数据是否存在多个峰值,以及峰值的位置和数量。Python中最常用的库是seaborn和plotly。

1.使用seaborn绘制核密度图

import seaborn as sns
import numpy as np

# 生成随机数据
data = np.random.normal(0, 1, 1000)

# 绘制核密度图
sns.kdeplot(data, shade=True)

# 添加标题和轴标签
plt.title('Kernel Density Plot of Random Data')
plt.xlabel('Value')
plt.ylabel('Density')

plt.show()

以上代码使用seaborn库中的kdeplot函数绘制核密度图,shade参数用于填充曲线下方的区域。通过添加标题和轴标签,可以使图像更加美观易懂。

2.使用plotly绘制核密度图

import plotly.express as px
import numpy as np

# 生成随机数据
data = np.random.normal(0, 1, 1000)

# 绘制核密度图
fig = px.density_contour(data)

# 设置图像布局
fig.update_layout(
    title='Kernel Density Plot of Random Data',
    xaxis_title='Value',
    yaxis_title='Density'
)

fig.show()

以上代码使用plotly库中的density_contour函数绘制核密度图。相比于seaborn库,plotly库的图像交互性更强,可以更加方便地进行数据探索和分析。

四、箱线图

箱线图(Box Plot)是展示单变量或多变量分布情况的一种方式。在箱线图中,数据被分成多个组别,每个组别中数据的五个统计量(最小值、最大值、中位数、上四分位数和下四分位数)被展示在盒子中。箱线图通常用来观察数据是否存在异常值,以及分析不同组别之间的差异。Python中最常用的库是matplotlib、seaborn和plotly。

1.使用matplotlib绘制箱线图

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
data = [np.random.normal(0, 1, 100) for i in range(5)]

# 绘制箱线图
plt.boxplot(data)

# 添加标题和轴标签
plt.title('Box Plot of Random Data')
plt.xlabel('Group')
plt.ylabel('Value')

plt.show()

以上代码使用matplotlib库中的boxplot函数绘制箱线图。在本例中,我们随机生成了5组数据,然后使用boxplot函数将这五组数据汇总在一起展示。通过添加标题和轴标签,可以使图像更加清晰易懂。

2.使用seaborn绘制箱线图

import seaborn as sns
import numpy as np

# 生成随机数据
data = [np.random.normal(0, 1, 100) for i in range(5)]

# 绘制箱线图
sns.boxplot(data=data)

# 添加标题和轴标签
plt.title('Box Plot of Random Data')
plt.xlabel('Group')
plt.ylabel('Value')

plt.show()

以上代码使用seaborn库中的boxplot函数绘制箱线图。相比于matplotlib库,seaborn库的图像风格更为美观。可以在实际开发中根据需要选择适合的库。

3.使用plotly绘制箱线图

import plotly.express as px
import numpy as np

# 生成随机数据
data = [np.random.normal(0, 1, 100) for i in range(5)]

# 绘制箱线图
fig = px.box(x=np.repeat(['Group'],5), y=np.concatenate(data))

# 设置图像布局
fig.update_layout(
    title='Box Plot of Random Data',
    xaxis_title='Group',
    yaxis_title='Value'
)

fig.show()

以上代码使用plotly库中的box函数绘制箱线图。在本例中,我们将五组数据拼接在一起后传入box函数进行绘制。相比于其他库,plotly库支持更多的图像交互和定制,可以满足更加严格的数据需求。

原创文章,作者:DRUCE,如若转载,请注明出处:https://www.506064.com/n/333517.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
DRUCEDRUCE
上一篇 2025-02-01 13:34
下一篇 2025-02-01 13:34

相关推荐

  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29

发表回复

登录后才能评论