利用python绘制CDF图的示例代码

 更新时间:2023年08月16日 11:41:36   作者:Thomas_Cai  
这篇文章主要为大家详细介绍了如何利用python实现绘制CDF图,文中的示例代码简洁易懂,具有一定的借鉴价值,感兴趣的小伙伴可以学习一下

一、code

import os.path

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

csv_path = r"XXX.csv"
save_fig_path = os.path.join(os.path.split(csv_path)[0], "metrics_cdf.png")

# 从CSV读取数据
data = pd.read_csv(csv_path)['XXX']

# 计算CDF
data_sorted = np.sort(data)[::-1]
cdf = np.arange(1, len(data_sorted)+1) / len(data_sorted)

# 绘制CDF图
plt.plot(data_sorted, cdf, linewidth=2)  # marker='.',
plt.xlabel('Value')
plt.ylabel('CDF')
plt.xticks(np.arange(0, 1.1, 0.1))
plt.yticks(np.arange(0, 1.1, 0.1))
plt.title('Cumulative Distribution Function (CDF)')
plt.grid(True)
plt.savefig(save_fig_path)
plt.show()

二、plt.plot的marker有什么可选的标识

在matplotlib库中,plt.plot函数的marker参数用于指定在图上绘制数据点的标识符。这些标识符可以帮助你在图中更清晰地标记数据点的位置。以下是一些常用的marker参数及其对应的标识符:

'.': 小点

',': 像素

'o': 圆圈

'v': 倒三角

'^': 正三角

'<': 左箭头

'>': 右箭头

'1': 下箭头

'2': 上箭头

's': 正方形

'p': 五角星

'*': 星号

'h': 六边形1

'H': 六边形2

'|': 垂直线

'_': 水平线

你可以在plt.plot函数中使用这些标识符来改变数据点的外观。例如,如果要在绘制的线上使用圆圈作为数据点的标识,可以这样设置:

plt.plot(x_data, y_data, marker='o')

其中,x_data和y_data分别是你要绘制的数据的X和Y值。根据需要,你可以选择不同的标识符来突出显示数据点。

三、方法补充

当然除了上文方法,小编还为大家整理了其他实现绘制CDF图的方法,希望对大家有所帮助

方法一

import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt

data = []
ecdf = sm.distributions.ECDF(data)
x = np.linspace(min(data), max(data))
y = ecdf(x)

for a, b in zip(x, y):
    print(a, b)

plt.plot(x, y, linewidth='5', label='XX', color="green", linestyle="dashed")

plt.xlabel('XX', fontsize = 15)
plt.ylabel('CDF', fontsize=15)

plt.xlim(0, 1500)
plt.ylim(0, 1)

plt.xticks(fontsize=14)
plt.yticks(fontsize=14)

# plt.legend(loc='lower right', fontsize = 17) % 当有多个CDF曲线,对曲线进行标注

plt.show()

方法二

利用Matplotlib绘制CDF图

import matplotlib.pyplot as plt
import numpy as np
from scipy import stats
data = np.random.normal(size=1000)
plt.plot(sorted(data), stats.norm.cdf(sorted(data)))
plt.show()

到此这篇关于利用python绘制CDF图的示例代码的文章就介绍到这了,更多相关python CDF图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Pytorch中DataLoader的使用方法详解

    Pytorch中DataLoader的使用方法详解

    在Pytorch中,torch.utils.data中的Dataset与DataLoader是处理数据集的两个函数,用来处理加载数据集,这篇文章主要介绍了Pytorch中DataLoader的使用方法,需要的朋友可以参考下
    2022-09-09
  • python如何读取和存储dict()与.json格式文件

    python如何读取和存储dict()与.json格式文件

    这篇文章主要介绍了python如何读取和存储dict()与.json格式文件,具有很好的参考价值,希望对大家有所帮助。
    2022-06-06
  • python快速安装OpenCV的步骤记录

    python快速安装OpenCV的步骤记录

    这篇文章主要给大家介绍了关于python快速安装OpenCV的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 浅谈Python实时检测CPU和GPU的功耗

    浅谈Python实时检测CPU和GPU的功耗

    本文主要介绍了浅谈Python实时检测CPU和GPU的功耗,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Python获取航线信息并且制作成图的讲解

    Python获取航线信息并且制作成图的讲解

    今天小编就为大家分享一篇关于Python获取航线信息并且制作成图的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Python的地形三维可视化Matplotlib和gdal使用实例

    Python的地形三维可视化Matplotlib和gdal使用实例

    这篇文章主要介绍了Python的地形三维可视化Matplotlib和gdal使用实例,具有一定借鉴价值,需要的朋友可以了解下。
    2017-12-12
  • 使用matplotlib画图自定义marker

    使用matplotlib画图自定义marker

    这篇文章主要介绍了使用matplotlib画图自定义marker问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Python正则表达式 r'(.*) are (.*?) .*'的深入理解

    Python正则表达式 r'(.*) are (.*?) .*'的深入理解

    日常的开发工作中经常会有处理字符串的需求,简单的字符串处理,我们使用python内置的字符串处理函数就可以了,但是复杂的字符串匹配就需要借助正则表达式了,这篇文章主要给大家介绍了关于Python正则表达式 r‘(.*) are (.*?) .*‘的相关资料,需要的朋友可以参考下
    2022-07-07
  • python中numpy数组的csv文件写入与读取

    python中numpy数组的csv文件写入与读取

    本文主要介绍了python中numpy数组的csv文件写入与读取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Jupyter Notebook 如何修改字体和大小以及更改字体样式

    Jupyter Notebook 如何修改字体和大小以及更改字体样式

    这篇文章主要介绍了Jupyter Notebook 如何修改字体和大小以及更改字体样式的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06

最新评论