文档章节

python数据可视化----绘制各种图形

南寻
 南寻
发布于 2017/06/05 22:20
字数 681
阅读 4143
收藏 205

1.环境

系统:windows10

python版本:python3.6.1

使用的库:matplotlib,numpy

2.numpy库产生随机数几种方法

import numpy as np
numpy.random
rand(d0, d1, ..., dn)

In [2]: x=np.random.rand(2,5)

In [3]: x
Out[3]:
array([[ 0.84286554,  0.50007593,  0.66500549,  0.97387807,  0.03993009],
       [ 0.46391661,  0.50717355,  0.21527461,  0.92692517,  0.2567891 ]])

randn(d0, d1, ..., dn)查询结果为标准正态分布

In [4]: x=np.random.randn(2,5)

In [5]: x
Out[5]:
array([[-0.77195196,  0.26651203, -0.35045793, -0.0210377 ,  0.89749635],
       [-0.20229338,  1.44852833, -0.10858996, -1.65034606, -0.39793635]])

randint(low,high,size)

生成low到high之间(半开区间 [low, high)),size个数据

In [6]: x=np.random.randint(1,8,4)

In [7]: x
Out[7]: array([4, 4, 2, 7])

random_integers(low,high,size)

生成low到high之间(闭区间 [low, high)),size个数据

In [10]: x=np.random.random_integers(2,10,5)

In [11]: x
Out[11]: array([7, 4, 5, 4, 2])

3.散点图

x x轴
y y轴
s   圆点面积
c   颜色
marker  圆点形状
alpha   圆点透明度                #其他图也类似这种配置
N=50
# height=np.random.randint(150,180,20)
# weight=np.random.randint(80,150,20)
x=np.random.randn(N)
y=np.random.randn(N)
plt.scatter(x,y,s=50,c='r',marker='o',alpha=0.5)
plt.show()

4.折线图

x=np.linspace(-10000,10000,100) #将-10到10等区间分成100份
y=x**2+x**3+x**7
plt.plot(x,y)
plt.show()

折线图使用plot函数

5.条形图

N=5
y=[20,10,30,25,15]
y1=np.random.randint(10,50,5)
x=np.random.randint(10,1000,N)
index=np.arange(N)
plt.bar(left=index,height=y,color='red',width=0.3)
plt.bar(left=index+0.3,height=y1,color='black',width=0.3)
plt.show()

orientation设置横向条形图

N=5
y=[20,10,30,25,15]
y1=np.random.randint(10,50,5)
x=np.random.randint(10,1000,N)
index=np.arange(N)
# plt.bar(left=index,height=y,color='red',width=0.3)
# plt.bar(left=index+0.3,height=y1,color='black',width=0.3)
#plt.barh() 加了h就是横向的条形图,不用设置orientation
plt.bar(left=0,bottom=index,width=y,color='red',height=0.5,orientation='horizontal')
plt.show()

6.直方图

m1=100
sigma=20
x=m1+sigma*np.random.randn(2000)
plt.hist(x,bins=50,color="green",normed=True)
plt.show()

# #双变量的直方图
# #颜色越深频率越高
# #研究双变量的联合分布
#双变量的直方图
#颜色越深频率越高
#研究双变量的联合分布
x=np.random.rand(1000)+2
y=np.random.rand(1000)+3
plt.hist2d(x,y,bins=40)
plt.show()

7.饼状图

#设置x,y轴比例为1:1,从而达到一个正的圆
#labels标签参数,x是对应的数据列表,autopct显示每一个区域占的比例,explode突出显示某一块,shadow阴影
labes=['A','B','C','D']
fracs=[15,30,45,10]
explode=[0,0.1,0.05,0]
#设置x,y轴比例为1:1,从而达到一个正的圆
plt.axes(aspect=1)
#labels标签参数,x是对应的数据列表,autopct显示每一个区域占的比例,explode突出显示某一块,shadow阴影
plt.pie(x=fracs,labels=labes,autopct="%.0f%%",explode=explode,shadow=True)
plt.show()

8.箱型图

import matplotlib.pyplot as plt
import numpy as np
data=np.random.normal(loc=0,scale=1,size=1000)
#sym 点的形状,whis虚线的长度
plt.boxplot(data,sym="o",whis=1.5)
plt.show()
#sym 点的形状,whis虚线的长度

 

github地址:https://github.com/nanxung/python-.git

码云地址:https://git.oschina.net/nanxun/pythonshujukeshihuajiantu.git

© 著作权归作者所有

共有 人打赏支持
南寻
粉丝 63
博文 90
码字总数 35772
作品 0
朝阳
程序员
私信 提问
加载中

评论(5)

cywymch
cywymch
不错
iture
iture
不错
milin
milin
demo里面有很多,自己查看下
功夫在墙外
功夫在墙外
像这样的事情,查官方文档不就是了吗?
开源中国首席监管官Wan
开源中国首席监管官Wan
不错啊
10个Python 统计报表/图表图形类库

今天介绍一些Python中用于画图表图形的类库。因为有些时候,他们跟matlab一样简单,方便。而且有些也具有非凡的表现力。 matplotlib,官网:http://matplotlib.sourceforge.net/,Matplotlib ...

大数据之路
2012/08/24
0
0
Python 调用 matplotlib 实现交互式数据可视化图表案例

交互式的数据可视化图表是 New IT 新技术的一个应用方向,在过去,用户要在网页上查看数据,基本的实现方式就是在页面上显示一个表格出来,的而且确,用表格的方式来展示数据,显示的数据量会...

xjtuhit
06/11
0
0
4.python数据分析与展示-----Matplotlib库入门

1.Matplotlib库介绍 Python优秀的数据 可视化第三方库 2.Matplotlib库的使用 Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发,matplotlib.pyplot是绘制各类可视化图形的命令子...

bxg1065283526
04/29
0
0
Matplotlib神级教程, python程序员有福了, 感谢产品经理提供!

Matplotlib神级教程, python程序员有福了, 感谢产品经理提供!image](http://upload-images.jianshu.io/upload_images/9305082-85c183a65cb725b0.jpg?imageMogr2/auto-orient/strip%7CimageVi......

Python新世界
08/02
0
0
Veusz 1.14 发布,Python 科学图表库

Veusz 1.14 发布。该版本包含了一个交互教程。CSV导入改进很多,支持更多的数据格式,数据集可以做复制粘帖等操作。其他的漏洞修复等等。 Veusz 是一个用来绘制各种科学图表的Python程序库,...

小卒过河
2011/11/29
865
0

没有更多内容

加载失败,请刷新页面

加载更多

Confluence 6 修改导航显示选项

选择 子页面(Child pages)来在边栏中查看当前页面的子页面。 选择 页面树(Page tree)来查看整个空间的页面树,扩展当前的页面。 你也可以选择是否完全隐藏导航显示选项或者添加你希望可见...

honeymose
25分钟前
0
0
Ubuntu18.04 安装MySQL

1.安装MySQL sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 3.设置MySQL非root用户 设置原因:配置过程为系统root权限,在构建MySQL连接时出现错误:ERROR...

AI_SKI
今天
3
0
3.6 rc脚本(start方法) 3.7 rc脚本(stop和status方法) 3.8 rc脚本(以daemon方式启动)

3.6-3.7 rc脚本(start、stop和status方法) #!/usr/bin/env python# -*- coding: utf-8 -*-# [@Version](https://my.oschina.net/u/931210) : python 2.7# [@Time](https://my.oschina.......

隐匿的蚂蚁
今天
3
0
Cnn学习相关博客

CNN卷积神经网络原理讲解+图片识别应用(附源码) 笨方法学习CNN图像识别系列 深度学习图像识别项目(中):Keras和卷积神经网络(CNN) 卷积神经网络模型部署到移动设备 使用CNN神经网络进行...

-九天-
昨天
5
0
flutter 底部输入框 聊天输入框 Flexible

想在页面底部放个输入框,结果键盘一直遮住了,原来是布局问题 Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("评论"), ...

大灰狼wow
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部