如何在Python中创建累积曲线图?

2023年 8月 27日 53.8k 0

ogive图形以图形化方式表示一组数据的累积分布函数(CDF),有时也称为累积频率曲线。它用于检查数据分布并发现模式和趋势。Matplotlib、Pandas和Numpy是Python提供的一些库和工具,用于创建ogive图形。在本教程中,我们将看看如何使用Matplotlib在Python中生成ogive图形。

要创建一个累积曲线图,我们需要导入所需的库。在这个例子中,我们将使用Matplotlib,Pandas和Numpy。Matplotlib是一个流行的数据可视化库,用于在Python中创建交互式图表和图形。另一方面,Numpy用于执行复杂的数学运算。Pandas是另一个广泛使用的Python库,专门用于数据操作和分析。

语法

plt.plot(*np.histogram(data, bins), 'o-')

登录后复制

在这个语法中,'data'是用来创建累积曲线图的数据集。数据的频率分布由'np.histogram'函数确定,该函数还返回直方图的值和箱子边界。使用'plt.plot'创建累积曲线图,使用' 'o-' '格式字符串来绘制数据点并用线连接它们。然后,'*'运算符将直方图的值和箱子边界作为单独的参数传递给'plt.plot'。

示例

这是一个简单的示例,创建了一个 ogive 图来可视化一个骰子投掷列表的累积频率分布。

import numpy as np
import matplotlib.pyplot as plt

# List of dice rolls
rolls = [1, 2, 3, 4, 5, 6, 3, 6, 2, 5, 1, 6, 4, 2, 3, 5, 1, 4, 6, 3]

# Calculate the cumulative frequency
bins = np.arange(0, 8, 1)
freq, bins = np.histogram(rolls, bins=bins)
cumulative_freq = np.cumsum(freq)

# Create the ogive graph
plt.plot(bins[1:], cumulative_freq, '-o')
plt.xlabel('Dice Rolls')
plt.ylabel('Cumulative Frequency')
plt.title('Ogive Graph of Dice Rolls')
plt.show()

登录后复制

首先,我们创建了一个ogive图来可视化一组骰子掷出结果的累积频率分布,通过导入必要的模块NumPy和Matplotlib来实现。然后,代码定义了一组骰子掷出结果,并使用NumPy的直方图函数来生成数据的“直方图”,指定数据的分组数和取值范围。接下来,使用NumPy的'cumsum'函数表示数据的累积频率。

最后,使用Matplotlib的“plot”函数将累积频率绘制为对数图,其中每个箱的上限用作x轴,形成ogive图。所得的ogive图显示了骰子投掷的累积频率分布,其中x轴表示投掷的值,y轴表示这些值在某一点之前的累积频率。这个图可以用来分析骰子投掷的频率和分布。

输出

如何在Python中创建累积曲线图?

示例

这个示例演示了一个ogive图,用于可视化0到100之间的500个随机数的分布。

import numpy as np
import matplotlib.pyplot as plt

# Generate random data
data = np.random.randint(0, 100, 500)

# Calculate the cumulative frequency
bins = np.arange(0, 110, 10)
freq, bins = np.histogram(data, bins=bins)
cumulative_freq = np.cumsum(freq)

# Create the ogive graph
plt.plot(bins[1:], cumulative_freq, '-o')
plt.xlabel('Data')
plt.ylabel('Cumulative Frequency')
plt.title('Ogive Graph of Random Data')
plt.show()

登录后复制

在这个例子中,我们首先使用NumPy生成一个包含500个0到100之间的随机数的数据集。然后使用NumPy计算出数据的累积频率,每个频率的区间宽度为10。最后,使用Matplotlib绘制累积频率与每个区间的上限之间的关系,生成ogive图。这个例子演示了如何使用Python和随机生成的数据创建ogive图。

输出

如何在Python中创建累积曲线图?

我们学会了使用Matplotlib模块在Python中创建累积曲线图,这是一个简单的过程,使用matplotlib库。通过加载数据、计算累积频率并绘制结果,您可以轻松地可视化数据集的分布,并识别任何模式或趋势。您可以使用标签、标题和样式自定义您的图形,使其更具视觉吸引力和信息量。累积曲线图是统计分析中有用的工具,可以表示各种数据,从收入分布到考试成绩。

以上就是如何在Python中创建累积曲线图?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论