散点图-scatter

散点图显示两组数据的值,每个点的坐标位置由变量的值决定由一组不连接的点完成,用于观察两种变量的相关

 import numpy as np
import matplotlib.pyplot as plt #导入绘图模块 height = [161, 170, 182, 175, 173, 165]
weight = [50, 58, 80, 70, 69, 55] plt.scatter(height, weight)
N = 1000
x = np.random.randn(N)
# y1 = np.random.randn(N)
y1 = -x + np.random.randn(N)*0.5 # 绘制散点图的命令行
plt.scatter(x, y1, s=100, c='r', marker='o', alpha=0.5)
# s表示点的面积,c表示点的颜色,marker表示点的形状,alpha表示点的透明度 plt.show()

折线图

折线图是用直线段将各数据连接起来组成的图形常用来观察数据随时间变化的趋势

 import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates x = np.linspace(-10, 10, 100) # y = x**2
y = np.sin(x) plt.plot(x, y, linestyle='-.', color='g', marker='^')
# 折线图的基本绘制命令行,linestyle为要画的线型,color为线的颜色,marker为点的形状
# 在matplotlib官网中,有关于线型,颜色,点的形状的全面介绍 plt.show()

条形图

以长方形的长度为变量的统计图表,用来比较多个项目分类的数据大小,通常利用于较小的数据集分析

条形图可以以单列,并列,层叠方式画图

 import numpy as np
import matplotlib.pyplot as plt # 单列模式
N = 5
y = [20, 10, 30, 25, 15]
index = np.arange(N) # plt.bar(x=index, height=y, width=0.5, color='r')
# x表示的是x轴上对应的第几个条形,height表示的y轴上对应条形的高度,
# width表示条形的 宽度
plt.bar(index, y, 0.5, color='r') # x=,height=,width=,可以省略 # 条形图也可以横着放
# x需要赋0值,bottom表示条形块的底部即对应纵轴上的坐标,
# width表示条形块横着放的高度,相当于横轴上(横向)的宽度,
# height表示条形块纵向的宽度,orientation='horizontal'表示要画横向的条形图
pl = plt.bar(x=0, bottom=index, color='red', width=y, height=0.5,
orientation='horizontal')
# 横向条形图有第二种方式,这里的y轴应赋值第几个条形快即index
# pl = plt.barh(y=index, color='red', width=y,) plt.show()
 import numpy as np
import matplotlib.pyplot as plt # 并列式绘条形图,将两个条形图共用一个坐标轴,并列的画在一起
index = np.arange(4)
sales_BJ = [52,55,63,53]
sales_SH = [44,66,55,41] bar_width = 0.3
plt.bar(index,sales_BJ,bar_width,color='b') # 这个并列的条形图的横轴上的坐标可以用index+bar_width来表示
# 目的是不与第一个重叠
plt.bar(index+bar_width,sales_SH,bar_width,color='r') plt.show()
 import numpy as np
import matplotlib.pyplot as plt # 层叠绘图
index = np.arange(4)
sales_BJ = [52,55,63,53]
sales_SH = [44,66,55,41] bar_width = 0.3
plt.bar(index,sales_BJ,bar_width,color='b') # 第二个要层叠的对象需要加bottom=sales_BJ,表示层叠底部的对象是上一个
plt.bar(index,sales_SH,bar_width,color='r',bottom=sales_BJ) plt.show()

直方图

由一系列高度不等的纵向条形组成,表示数据分布的情况注意和条形图的区别

 import numpy as np
import matplotlib.pyplot as plt mu = 100
sigma = 20
x = mu + sigma * np.random.randn(20000) # 单变量频率分布直方图,用条形的高度表示频率分布的大小
# bins=100是将x轴取到的数分100个等份的条形块
# normed=False表示这里的每个条形即每个区间所占的个数
# normed=True时表示每个条形区间占总数的比例
plt.hist(x,bins=100,color='green',normed=False) # 双变量变量频率分布直方图,用颜色的深浅表示频率的分布大小
# x = np.random.randn(1000)+2
# y = np.random.randn(1000)+3
# plt.hist2d(x,y,bins=40)
plt.show()

饼状图

饼状图显示一个数据系列中各项的大小与各项总和的比例饼状图中的数据点显示为整个饼状图的百分比

 import matplotlib.pyplot as plt

 labels = ('A','B','C','D')
fracs = [15,30,45,10] explode = [0,0.05,0.08,0] plt.axes(aspect=1) # 如果横纵方向不是1:1,这个可以将要画的图默认为1:1 plt.pie(x=fracs,labels=labels,autopct='%.1f%%',explode=explode,shadow=True)
# autopct='%.1f%%'表示每一块所占总块的比例,
# explode=explode表示每块分离出的距离
# shadow=True将分离出的饼块添加阴影 plt.show()

箱形图

箱形图(Box-plot)又称为盒须图、盒式图或箱线图

是一种用作显示一组数据分散情况资料的统计图

上边缘,上四分位数,中位数,下四分位数,下边缘,异常值

 import numpy as np
import matplotlib.pyplot as plt np.random.seed(100) # 单个箱形图
data = np.random.normal(size=1000,loc=0,scale=1)
# 此代码行表示正态分布,size表示随机选取的数值数量,
# loc为概率分布的平均值,是概率分布中心,
# scale是概率分布标准差,对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高 plt.boxplot(data, sym='o',whis=1.5)
# sym表示异常值点的形状,whis表示异常值与需线的比例值,在官网有具体说明 #多个箱形图在同一个坐标轴中
# data = np.random.normal(size=(1000,4),loc=0,scale=1)
# labels = ['A','B','C','D']
# plt.boxplot(data,labels=labels) plt.show()

最新文章

  1. git版本控制管理实践-4
  2. PHP public private protected 三种修饰符的区别
  3. Pet Shop4.0
  4. 一个比较常用的关于php下的mysql数据操作类
  5. qunit.js初试
  6. Storm中tuple的可靠性
  7. 【Java】【jquery】ajax垃圾问题
  8. 安卓图片Bitmap一些旋转处理
  9. Vue-CLI和脚手架
  10. Spring:AOP面向切面编程
  11. LNMP环境搭建:Nginx安装、测试与域名配置
  12. Centos 6.x 升级到 7.x
  13. centos7/RHEL7最小化系统安装gnome图形界面
  14. [poj3046][Ant counting数蚂蚁]
  15. MySQL累积求和
  16. UVALive 5984
  17. iOS网络NSURLConnection使用详解
  18. mysql查询赋值、修改拼接字符串
  19. Tuning 12 manage statistics
  20. windows服务是如何被调用的?

热门文章

  1. ssh sshpass随笔
  2. 将页面中所有的checkbox设成单选得
  3. GitHub回退到某个commit版本
  4. linux物理内存与虚拟内存
  5. 记一次环境变量导致的elasticsearch启动错误:max file descriptors [65535] for elasticsearch process is too low, incre
  6. 如何配置 VirtualBox 中的客户机与宿主机之间的网络连接
  7. Maven中的SnapShot版本和Release版本
  8. hwclock和date源码分析
  9. Docs-.NET-C#-指南-语言参考-预处理器指令:#else(C# 参考)
  10. OS X环境下如何搭建编译Cocos2D-X v3.x的Android Studio工程