文章目录

  • 写在前面的话
  • 累计分布函数(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,这个数据是我们自己收集的,而不是随机产生的。所以我们可以这么做:

  1. 首先先把我们的数据存在一个 csv 文件里面,或者是excel,都可以,看大家开心。
  2. 然后读取出我们的数据画图

我在之前的很多文章里面都推荐了大家使用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相关推荐

  1. python画曲线图-python画曲线

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 桃心形曲线的方程如下 matlab绘制效果如下:? matlab程序如下. clc ...

  2. python画xy轴_python画双y轴图像的示例代码

    很多时候可能需要在一个图中画出多条函数图像,但是可能y轴的物理含义不一样,或是数值范围相差较大,此时就需要双y轴. matplotlib和seaborn都可以画双y轴图像. 一个例子: import ...

  3. python简单代码画曲线图教程-python画曲线

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 桃心形曲线的方程如下 matlab绘制效果如下:? matlab程序如下. clc ...

  4. 用python画y双坐标轴的脚本

    #python 画y轴双刻度坐标dataset=pd.read_csv(path+'PWV.dat',header=None,sep=' +',engine='python'); #文件名需要改动 p ...

  5. 怎么用python画个电脑_python语言还是java如何用python画爱心

    用python绘制爱心的基本步骤如下: 002pc.com对<python语言还是java如何用python画爱心>总结来说,为我们学习Python很实用. 首先先下载安装好python程 ...

  6. 开学季,教你用Python画大学教室座位神分区图!网友直呼“中枪”

    作者 | 丁彦军 转载自恋习Python(ID:sldata2017) 我们上过大学的朋友们都知道,大学没有固定教室也没有固定的座位,所以大家可以随便找个自己喜欢的位置坐下. 别看这些不起眼的座位,感 ...

  7. 圣诞节!教你用Python画棵圣诞树

    作者 | 糖甜甜甜,985高校经管研二,擅长用 Python.R.tableau 等工具结合统计学和机器学习模型做数据分析. 来源 | 经管人学数据分析(ID:DAT-2017) 如何用Python画 ...

  8. 用python画时序图源代码_使用python实现画AR模型时序图

    背景: 用python画AR模型的时序图. 结果: 代码: import numpy as np import matplotlib.pyplot as plt """ ...

  9. 用python画微信捂脸_用 Python 画一个捂脸表情

    微信中的捂脸表情相信大家都不陌生,我见过以及自己使用这个表情的频率都是比较高的,可以说这个表情算是大部分人的主打表情之一了,本文我使用 Python 来画一下这个表情,我们使用到的库还是 turtle ...

最新文章

  1. IPVS-DR+keepalived实现高可用负载均衡集群
  2. 从windows到linux的换行转换工具dos2unix
  3. ad network
  4. android bin目录是什么,android bin目录下的.ap_是神马文件?
  5. java dvd集合框架_JAVA 集合框架
  6. Linux进程相关的一些笔记
  7. Linux双网卡下的网络故障排查
  8. 教你在官网如何下载jdk
  9. w10 计算机配置管理模板,Win10系统这些设置能提高电脑的使用效率
  10. 大厂硬件技术二面的题目
  11. [导入]PSP 经典游戏合集
  12. php yield 携程,爬取携程国内地区攻略评论
  13. java的抽象方法和抽象类
  14. 《面向对象程序设计》课程设计
  15. Expected required, optional, or repeated.错误解决方法
  16. HTML中td的colspan和rowspan
  17. 华硕X43S关闭触控板
  18. Python源码剖析2-字符串对象PyStringObject
  19. Linux内核编译出来模块过大
  20. 教您自制android的开机动画LOGO

热门文章

  1. 34岁,外企倒闭成功上岸大厂,50K,附面试秘籍
  2. 巧用Stream优化老代码,太清爽了!
  3. 深入理解Netty-从偶现宕机看Netty流量控制
  4. 程序员因重复记录日志撑爆ELK被辞退!
  5. 大数据中台架构之道: PaaS + DaaS +DA 全域中台架构详解
  6. 美团外卖持续交付的前世今生
  7. 我挖掘Kafka底层原理!发现了它火爆宇宙的3个真相!
  8. 程序员论坛炫耀公司福利:一线互联网公司的下午茶,什么水平?
  9. 远程办公的难点在哪?
  10. OKR案例分析,哪种类型的企业适合OKR?