Python制作统计图形
来源:互联网 发布:网络教育大学有哪些 编辑:程序博客网 时间:2024/05/17 21:55
Python制作统计图形
Python一般使用Matplotlib制作统计图形,用它自己的说法是‘让简单的事情简单,让复杂的事情变得可能’。(你说国外的“码农”咋这么会说,我就整不出来这工整的句子!)用它可以制作折线图,直方图,条形图,散点图,饼图,谱图等等你能想到的和想不到的统计图形,这些图形可以导出为多种具有出版质量的格式。此外,它和ipython结合使用,确实方便,谁用谁知道!
在Matplotlib里面经常使用到的是pylab和pyplot,它之间的区别在于pyplot是封装好的调用matplotlib底层制图库的接口,制图时用户不用关心底层的实现,而pylab则是为了使用者的方便,将numpy和pyplot的功能集中在了一个命名空间中。这么解释,可能还是不太清楚,因此在此次举个例子:
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的使用。直方图和条形图主要刻画的是一维随机变量的分布,折线图和散点图主要刻画的是两个随机变量之间的相关性。首先要展示的是条形图:
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,矩形的高度代表的是改组数据的均值,矩形顶部蓝色短线代表标准差,短线自矩形的顶部分别向上和向下延伸标准差的长度。
接下来要展示的是直方图,
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会自动统计数据的分布;条形图主要刻画数据的样本均值和方差,直方图主要刻画样本的总体分布。
接下来要展示的是折线图,代码如下:
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的值,则应该使用散点图。
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制作统计图形
- python 图形统计
- 统计图形
- 图形制作
- 用python学概率与统计(第二章)描述性统计:表格法,图形法
- 报表 统计(图形)
- 统计图形-茎叶图
- 统计图形-点图
- 统计图形-直方图
- SPSS 统计图形
- jquery各种图形统计
- 制作图形组合框
- 使用JFreeChart制作图形
- CSS制作图形速查表
- css3制作图形大全
- CSS3 制作图形大全
- css3制作图形大全
- 用python打造中英文词频统计系统(1)--利用tkinter设计图形化界面
- ubuntu 源码安装 screen
- 第十周项目一 阅读下面的定义,请说出在测试函数中不同情况的调用产生的结果(5 d)
- 通过自定义Filter(适配器),并实现浏览器的禁止缓存的Filter
- SDAU 课程练习3 1021
- 大声的喊——NOI2016,我来了!
- Python制作统计图形
- ThinkPHP Seesion的Memcached驱动支持阿里云OCS及集群
- Lecture 2 - Simple Word Vector representations: word2vec, GloVe
- 如何用拼接的字符串调用javascript的变量或方法
- Leetcode题解14 20. Valid Parentheses
- Eclipse导入MyEclipse工程(web项目显示为java项目解决办法)
- Android Design Support Library--使用CoordinatorLayout来处理滚动
- js桌面消息提示和title提醒
- ireport常见的几种异常