文档章节

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

南寻
 南寻
发布于 2017/06/05 22:20
字数 681
阅读 1W
收藏 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里面有很多,自己查看下
功夫在墙外
功夫在墙外
像这样的事情,查官方文档不就是了吗?
开源中国首席监管官
开源中国首席监管官
不错啊
[Pyhon疫情大数据分析] 二.PyEcharts绘制全国各地区、某省各城市疫情地图及可视化分析

思来想去,虽然很忙,但还是挤时间针对这次肺炎疫情写个Python大数据分析系列博客,包括网络爬虫、可视化分析、GIS地图显示、情感分析、舆情分析、主题挖掘、威胁情报溯源、知识图谱、预测预...

Eastmount
02/22
0
0
Python 调用 matplotlib 实现交互式数据可视化图表案例

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

xjtuhit
2018/06/11
0
0
Python调用matplotlib实现交互式数据可视化图表案例

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

osc_ph7q2o1c
2018/06/11
18
0
[Pyhon疫情大数据分析] 一.腾讯实时数据爬取、Matplotlib和Seaborn可视化分析全国各地区、某省各城市、新增趋势

思来想去,虽然很忙,但还是挤时间针对这次肺炎疫情写个Python大数据分析系列博客,包括网络爬虫、可视化分析、GIS地图显示、情感分析、舆情分析、主题挖掘、威胁情报溯源、知识图谱、预测预...

Eastmount
02/17
0
0
Day01 爬虫爬取疫情数据并可视化数据

可视化,是一种利用计算机图形学和图像处理技术,将数据转换成图像在屏幕上显示出来,再进行交互处理的理论、方法和技术。 本次实践基于丁香园公开的统计数据,实现新冠疫情可视化,包括疫情...

泽木杉
04/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ThreadLocal

一、ThreadLocal简介   多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步...

architect刘源源
昨天
15
0
微信小程序客服会话卡片、自定义客服消息卡片

一、微信客服会话启用会话卡片 1. open-type="contact" 2. show-message-card =true 更多参考官方文档: https://developers.weixin.qq.com/miniprogram/dev/component/button.html 当前效果......

tianma3798
昨天
6
0
练习Linux常用命令

练习命令 Linux常用命令 Linux中一切皆文件,没有消息就是最好的消息 以下所有命令以centos7为基础, 网络相关配置 测试外网是否连通 安装网卡测试工具,即ifconfig程序 查看网卡 临时修改I...

千年典韦
昨天
10
0
从poison社网站爬取历代作品资料

使用的语言是python,爬取使用的代码包在我的主页有提供. 其中一些相关的数据设定如下(复制为data.py,然后运行主页提供的包的main.py): from mypython import *CODE = '4fjl_fjiepq24x' #...

setycyas
昨天
36
0
确定已安装的PowerShell版本 - Determine installed PowerShell version

问题: 如何确定计算机上安装了哪个版本的PowerShell,以及是否确实安装了该版本? 解决方案: 参考一: https://stackoom.com/question/7euv/确定已安装的PowerShell版本 参考二: https://...

技术盛宴
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部