使用python画CDF
文章目录
- 写在前面的话
- 累计分布函数(CDF)
- References
写在前面的话
看了一圈google 搜索画 CDF 的前10的中文输入,发现又到我出马的时候了。
这种图片应该是不能要的吧。
用很多奇奇怪怪的方法画出来的可能不太OK , 所以打算写一个个人认为画出来很美观的并且还不错的方法。
个人参考的是这个链接https://stackoverflow.com/questions/39297523/plot-cdf-cumulative-histogram-using-seaborn-python
累计分布函数(CDF)
累积分布函数(Cumulative Distribution Function),又叫分布函数,是概率密度函数的积分,能完整描述一个实随机变量X的概率分布。一般以大写CDF标记,,与概率密度函数probability density function(小写pdf)相对。
累积分布函数表示:对离散变量而言,所有小于等于a的值出现概率的和
如果您还不明白,可以稍微看一下百度百科,应该很快就能明白的。
最简单,最直接画一个CDF 的方法如下所示:
import numpy as np
import seaborn as snsx = np.random.randn(200)
kwargs = {'cumulative': True}
sns.distplot(x, hist_kws=kwargs, kde_kws=kwargs)
这个时候我们得到的图片如下所示:
不过上面这个比较单调,而且其实实用性并不是很大。因为首先数据就不符合我们的要求了。一般要显示出某个图像的CDF,这个数据是我们自己收集的,而不是随机产生的。所以我们可以这么做:
- 首先先把我们的数据存在一个 csv 文件里面,或者是excel,都可以,看大家开心。
- 然后读取出我们的数据画图
我在之前的很多文章里面都推荐了大家使用pandas 这个插件来加载数据,这个是真的很方便
import os
import pandas as pd # 引入我们的pandas 模块#path = "you data path here"
path = "data.csv" # csv 文件存储了我们的数据
#比如是下面的这个样子的
‘’‘
data
1
2
3
4
5
...
’‘’# read the data
df = pd.read_csv(path)
x = df['data']# 画图sns.distplot(pkg, hist_kws={'cumulative': True, 'density': True}, kde_kws={'cumulative': True})plt.show()
以上就是一个基本操作
当然我们还可以在复杂一些, 比如说设置我们图片的样式,字体的大小,标题等等。。
我们现在就来实践一下
import os
import pandas as pd # 引入我们的pandas 模块#path = "you data path here"
path = "data.csv" # csv 文件存储了我们的数据
#比如是下面的这个样子的
‘’‘
data
1
2
3
4
5
...
’‘’# read the data
df = pd.read_csv(path)
x = df['data']sns.set_style("darkgrid") # 设置画图的模式# 设置刻度坐标的大小,这样加入我们的论文的时候可以更加的清晰,我一般是设置13-14,大家可以根据自己的图片来调整
plt.xticks(fontsize=13)
plt.yticks(fontsize=13)# 设置横坐标纵坐标说明
plt.xlabel('The number of x')
plt.ylabel('Proportion',fontsize=13)###设置坐标轴的粗细
ax=plt.gca();#获得坐标轴的句柄
ax.spines['bottom'].set_linewidth(1.2);###设置底部坐标轴的粗细
ax.spines['left'].set_linewidth(1.2);####设置左边坐标轴的粗细
ax.spines['right'].set_linewidth(1.2);###设置右边坐标轴的粗细
ax.spines['top'].set_linewidth(1.2)# 设置刻度的间距
y_major_locator=MultipleLocator(0.1)ax.yaxis.set_major_locator(y_major_locator)# 设置坐标轴的范围
plt.xlim(0, 3000)
plt.ylim(0, 1)# 画图
sns.distplot(pkg, hist_kws={'cumulative': True, 'density': True}, kde_kws={'cumulative': True})plt.show()
以上就是我们今天要说的内容了, 大家喜欢的话可以给我点个赞哟~
References
[1]https://stackoverflow.com/questions/39297523/plot-cdf-cumulative-histogram-using-seaborn-python
使用python画CDF相关推荐
- python画曲线图-python画曲线
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 桃心形曲线的方程如下 matlab绘制效果如下:? matlab程序如下. clc ...
- python画xy轴_python画双y轴图像的示例代码
很多时候可能需要在一个图中画出多条函数图像,但是可能y轴的物理含义不一样,或是数值范围相差较大,此时就需要双y轴. matplotlib和seaborn都可以画双y轴图像. 一个例子: import ...
- python简单代码画曲线图教程-python画曲线
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 桃心形曲线的方程如下 matlab绘制效果如下:? matlab程序如下. clc ...
- 用python画y双坐标轴的脚本
#python 画y轴双刻度坐标dataset=pd.read_csv(path+'PWV.dat',header=None,sep=' +',engine='python'); #文件名需要改动 p ...
- 怎么用python画个电脑_python语言还是java如何用python画爱心
用python绘制爱心的基本步骤如下: 002pc.com对<python语言还是java如何用python画爱心>总结来说,为我们学习Python很实用. 首先先下载安装好python程 ...
- 开学季,教你用Python画大学教室座位神分区图!网友直呼“中枪”
作者 | 丁彦军 转载自恋习Python(ID:sldata2017) 我们上过大学的朋友们都知道,大学没有固定教室也没有固定的座位,所以大家可以随便找个自己喜欢的位置坐下. 别看这些不起眼的座位,感 ...
- 圣诞节!教你用Python画棵圣诞树
作者 | 糖甜甜甜,985高校经管研二,擅长用 Python.R.tableau 等工具结合统计学和机器学习模型做数据分析. 来源 | 经管人学数据分析(ID:DAT-2017) 如何用Python画 ...
- 用python画时序图源代码_使用python实现画AR模型时序图
背景: 用python画AR模型的时序图. 结果: 代码: import numpy as np import matplotlib.pyplot as plt """ ...
- 用python画微信捂脸_用 Python 画一个捂脸表情
微信中的捂脸表情相信大家都不陌生,我见过以及自己使用这个表情的频率都是比较高的,可以说这个表情算是大部分人的主打表情之一了,本文我使用 Python 来画一下这个表情,我们使用到的库还是 turtle ...
最新文章
- IPVS-DR+keepalived实现高可用负载均衡集群
- 从windows到linux的换行转换工具dos2unix
- ad network
- android bin目录是什么,android bin目录下的.ap_是神马文件?
- java dvd集合框架_JAVA 集合框架
- Linux进程相关的一些笔记
- Linux双网卡下的网络故障排查
- 教你在官网如何下载jdk
- w10 计算机配置管理模板,Win10系统这些设置能提高电脑的使用效率
- 大厂硬件技术二面的题目
- [导入]PSP 经典游戏合集
- php yield 携程,爬取携程国内地区攻略评论
- java的抽象方法和抽象类
- 《面向对象程序设计》课程设计
- Expected required, optional, or repeated.错误解决方法
- HTML中td的colspan和rowspan
- 华硕X43S关闭触控板
- Python源码剖析2-字符串对象PyStringObject
- Linux内核编译出来模块过大
- 教您自制android的开机动画LOGO