博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python数据可视化----绘制各种图形
阅读量:7079 次
发布时间:2019-06-28

本文共 2617 字,大约阅读时间需要 8 分钟。

hot3.png

1.环境

系统:windows10

python版本:python3.6.1

使用的库:matplotlib,numpy

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

import numpy as np
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**7plt.plot(x,y)plt.show()

折线图使用plot函数

5.条形图

N=5y=[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=5y=[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就是横向的条形图,不用设置orientationplt.bar(left=0,bottom=index,width=y,color='red',height=0.5,orientation='horizontal')plt.show()

6.直方图

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

# #双变量的直方图# #颜色越深频率越高# #研究双变量的联合分布
#双变量的直方图#颜色越深频率越高#研究双变量的联合分布x=np.random.rand(1000)+2y=np.random.rand(1000)+3plt.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 pltimport numpy as npdata=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://my.oschina.net/u/3264690/blog/915068

你可能感兴趣的文章
面向对象二次整理(基础,属性引用,方法引用.绑定方法)
查看>>
Quick-cocos2d-x3.3 Study (十)--------- 添加动画
查看>>
网络学习目录
查看>>
《结对-贪吃蛇游戏-需求分析》
查看>>
入门01
查看>>
Guava包学习--Hash
查看>>
PAT-乙级-01
查看>>
CImage
查看>>
面向对象01
查看>>
[C++参考]私有成员变量的理解
查看>>
五.获得MYSQL数据库自动生成的主键
查看>>
小米4安装apk时出现INSTALL_FAILED_NO_MATCHING_ABIS
查看>>
窗体之间传递值的几种方法
查看>>
springboot开启定时任务 添加定时任务 推送
查看>>
java 运算符的优先级
查看>>
MySQL--5--subquery和连接
查看>>
关于json返回日期格式化的解决方案
查看>>
html+css高度100%的时候边框超出,出现滚动条的解决办法,带边框的100%高度
查看>>
最大子段和(洛谷P1115,动态规划递推)
查看>>
nyoj 311 完全背包
查看>>