Python制作统计图形

作者: admin 分类: python, 数据分析 发布时间: 2014-07-19 17:37 ė 6没有评论

Python一般使用Matplotlib制作统计图形,用它自己的说法是‘让简单的事情简单,让复杂的事情变得可能’。(你说国外的“码农”咋这么会说,我就整不出来这工整的句子!)用它可以制作折线图,直方图,条形图,散点图,饼图,谱图等等你能想到的和想不到的统计图形,这些图形可以导出为多种具有出版质量的格式。此外,它和ipython结合使用,确实方便,谁用谁知道!

在Matplotlib里面经常使用到的是pylab和pyplot,它之间的区别在于pyplot是封装好的调用matplotlib底层制图库的接口,制图时用户不用关心底层的实现,而pylab则是为了使用者的方便,将numpy和pyplot的功能集中在了一个命名空间中。这么解释,可能还是不太清楚,因此在此次举个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import pylab
import numpy as np
import matplotlib.pyplot as plt
pylab.randn(2,3)
array([[ 1.22356117, -0.62786477, -0.02927331],
[ 1.11739661, -1.64112491, 2.24982297]])
np.random.randn(2,3)
array([[-1.41691502, -1.43500335, -0.68452086],
[-0.53925581, -0.18478012, -0.0126745 ]])
pylab.hist([1,1,1,2,3,3])
plt.hist([1,1,1,2,3,3])

从上面的例子可以看在pylab中可以使用numpy中的一些方法,而在pyplot中不能使用numpy的方法;pylab和pyplot都可以制作统计图形。

接下来通过4个常用的统计图形–直方图,条形图,折线图和散点图来介绍首先matplot的使用。直方图和条形图主要刻画的是一维随机变量的分布,折线图和散点图主要刻画的是两个随机变量之间的相关性。首先要展示的是条形图:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
N = 5
ind = np.arange(N)
width = 0.35
menMeans = (20, 35, 30, 35, 27)
menStd = (2, 3, 4, 1, 2)
womenMeans = (25, 32, 34, 20, 25)
womenStd = (3, 5, 2, 3, 3)
plt.bar(ind, menMeans, width, color='r', yerr=menStd)
plt.bar(ind+width, womenMeans, width, color='y', yerr=womenStd)
plt.title('Men-Women')


图中红色的矩形代表的是Men,黄色代表的是Women,矩形的高度代表的是改组数据的均值,矩形顶部蓝色短线代表标准差,短线自矩形的顶部分别向上和向下延伸标准差的长度。

接下来要展示的是直方图,

1
2
3
4
5
6
7
8
x1 = 10 + 5 * np.random.randn(10000)
x2 = 20 + 5 * np.random.randn(10000)
num_bins = 50
plt.hist(x1, num_bins, normed=1, facecolor='green', alpha=0.5)
plt.hist(x2, num_bins, normed=1, facecolor='blue', alpha=0.5)
plt.title('Histogram')
plt.show()

上面的代码得到的图形

如果是连续性型随机变量,其中的每个矩形的高度表示该对应随机变量的概率密度函数的值,如果是离散型随机变量,其中每个矩形的高度代表对应随机变量的概率。条形图在使用时要事先计算出数据的均值和方差,而使用直方图时,pyplot会自动统计数据的分布;条形图主要刻画数据的样本均值和方差,直方图主要刻画样本的总体分布。

接下来要展示的是折线图,代码如下:

1
2
3
4
5
6
7
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, num=100)
y = np.sin(x)
plt.plot(x,y)
plt.show()

得到的正弦函数的图形如下:

上面的图可以看做是y=sin(x)在区间[0,10]上的函数图形,每一个x有且只有一个y的值相对应,如果有多个y的值,则应该使用散点图。

1
2
3
4
5
6
7
8
import numpy as np
import matplotlib.pyplot as plt
x = np.random.randn(1000)
y = np.random.randn(1000)
plt.scatter(x,y)
plt.title('Scatter')
plt.show()

得到散点图如下:

本文出自 杂七杂八,转载时请注明出处及相应链接。

本文永久链接: https://www.dcharm.com/?p=15

本文出自 杂七杂八,转载时请注明出处及相应链接。

本文永久链接: https://www.dcharm.com/?p=15

Python制作统计图形相关推荐

  1. python使用界面-用python制作用户图形界面

    PySimpleGui是一个Python的Gui库,比较接地气易上手.所以我就简单做了个计算插值多项式的程序试试手.第一次写UI代码,c++高手勿扰. 运行程序,首先输入插值节点的数量: 然后输入各个 ...

  2. python制作统计图_刻意练习11:Python描述统计、简单统计图形

    学习计划 MyPlan11 主题:Python描述统计.简单统计图形 时间:8.5-8.11周内完成 参考资料:新书<谁说菜鸟不会数据分析python篇> 各位星友们,在这个星球里每个人都 ...

  3. gui设置可编辑文本框的回调函数_用Tkinter制作Python程序的图形用户界面(GUI),打包后比Qt5减少60M(77.5%)(实例63)...

    实例61使用PyQt5制作了图形用户界面(GUI).这个香是香,但是打包后的安装文件太大(约80M),感觉有些美中不足啊.由于这个GUI实在简单,从现实角度实在用不着高大上的PyQt5,所以改用Pyt ...

  4. button点击后出现的边框_用Tkinter制作Python程序的图形用户界面(GUI),打包后比Qt5减少60M(77.5%)(实例63)...

    实例61使用PyQt5制作了图形用户界面(GUI).这个香是香,但是打包后的安装文件太大(约80M),感觉有些美中不足啊.由于这个GUI实在简单,从现实角度实在用不着高大上的PyQt5,所以改用Pyt ...

  5. python软件设计数据分析统计服_学习笔记(一)-python制作数据分析工具

    本文使用numpy.pandas.scipy等依赖包,利用python制作数据分析工具,了解数据的特征分布.缺失.异常情况,实现数据的预处理.常用的描述性统计指标主要包括基本均值.中位数.最大最小值. ...

  6. python统计各分数段人数并可根据选择绘制不同的图形_统计图形自己就可搞定,一文学会用Python绘制经典饼图...

    饼图,应该是大家比较熟悉的图形了吧,作为用来展示定性数据比例分布特征的经典统计图形,通过饼图,你可以很直观的看到各组数据的占比情况哦,上次已经和大家探讨了如何用Python来绘制经典的阶梯图,今天呢, ...

  7. Python数据可视化(三)绘制统计图形大全

    3.1 柱状图 以 Python 代码的形式讲解柱状图的绘制原理,这里重点讲解 bar()函数的使用方法. 代码: import matplotlib as mpl import matplotlib ...

  8. python图形设计编程_少儿编程分享:手把手教你用Python制作艺术图片

    原标题:少儿编程分享:手把手教你用Python制作艺术图片 在前面的几篇文章中,我们分享了一些用PyGame制作小游戏的教程.我们今天的分享使用的仍然是PyGame,只不过这次不是写游戏啦-我们要用P ...

  9. 中boxplot函数的参数设置_如何在Python中生成图形和图表

    在本章中,我们将学习如何在Python中生成图形和图表,同时将使用函数和面向对象的方法来可视化数据. Python中常用的一些可视化数据包括以下几种. Matplotlib. Seaborn. ggp ...

  10. python如何转换图形_python绘图 转

    Python有很多可视化工具,本篇只介绍Matplotlib. Matplotlib是一种2D的绘图库,它可以支持硬拷贝和跨系统的交互,它可以在Python脚本.IPython的交互环境下.Web应用 ...

最新文章

  1. mysql 5.7 json函数_Mysql5.7中对于JSON函数设置的案例详细说明
  2. mybatis支持驼峰自动转换sql吗_mybatis-plus返回map自动转驼峰配置操作
  3. 【干货】产品经理的需求管理
  4. Python数据分析Numpy库方法简介(三)
  5. Codeforces Round #743 (Div. 2) E. Paint 区间dp + 暴力
  6. 友讯(d-link)dwa-525 150m无线台式计算机网卡,D-Link新款台式机无线网卡即将上市
  7. OpenCV与图像处理学习十七——OpenCV人脸检测(含代码)
  8. synchronized原理_Java并发编程—synchronized保证线程安全的原理分析
  9. Masonry的使用
  10. 谈谈 JDK 和 SAPMachine 的关系
  11. SM2椭圆曲线公钥加密/解密算法
  12. 小学教师计算机国培培训总结,小学教师国培计划研修总结
  13. 第八篇《高速铁路钢轨光带检测系统》论文阅读笔记
  14. java计算机毕业设计科普网站源码+mysql数据库+系统+lw文档+部署
  15. 京东方27寸液晶屏MV270FHM-N20参考参数
  16. 60岁代码匠的几篇小作文,解决了大多数程序的迷茫(上)
  17. 『最小表示法 Necklace』
  18. 三角函数算式的c语言表达式,能计算加减乘除表达式,求添加计算平方、三角函数的功能,...
  19. 2021-04-08 从SONiC SAI到TAI
  20. 【windows】实战部署二(使用)SVNserver服务端+SVNclient客户端

热门文章

  1. 只有一个文件的开源富文本编辑器,麻雀虽小五脏俱全就是它了
  2. python使用pika库调用rabbitmq的参数使用
  3. 实训一#1.7F1方程式冠军
  4. win10卸载软件_【电脑软件】win10自带浏览器|教你一招,如何完美将它卸载!
  5. Anaconda新建虚拟环境-报错Multiple Errors Encountered
  6. 【Swift 和 OC】
  7. LabVIEW设计程序框图
  8. 【BZOJ】2101: [Usaco2010 Dec]Treasure Chest 藏宝箱(dp)
  9. 华为高薪吸纳“天才” !任正非:进来华为,就没有“天才少年”这个名词了
  10. [历朝通俗演义-蔡东藩-前汉]第007回 寻生路徐市垦荒 从逆谋李斯矫诏