程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

matplotlib笔记1

发布于2020-01-01 13:01     阅读(1421)     评论(0)     点赞(7)     收藏(3)


 散点图-scatter

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

复制代码
 1 import numpy as np
 2 import matplotlib.pyplot as plt  #导入绘图模块
 3 
 4 height = [161, 170, 182, 175, 173, 165]
 5 weight = [50, 58, 80, 70, 69, 55]
 6 
 7 plt.scatter(height, weight)
 8 N = 1000
 9  x = np.random.randn(N)
10 # y1 = np.random.randn(N)
11 y1 = -x + np.random.randn(N)*0.5
12 
13 
14 # 绘制散点图的命令行
15 plt.scatter(x, y1, s=100, c='r', marker='o', alpha=0.5)
16 # s表示点的面积,c表示点的颜色,marker表示点的形状,alpha表示点的透明度
17 
18 plt.show()
复制代码

折线图

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

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

条形图

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

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

 

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

 直方图

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

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

饼状图

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

复制代码
 1 import matplotlib.pyplot as plt
 2 
 3 labels = ('A','B','C','D')
 4 fracs = [15,30,45,10]
 5 
 6 explode = [0,0.05,0.08,0]
 7 
 8 plt.axes(aspect=1)  # 如果横纵方向不是1:1,这个可以将要画的图默认为1:1
 9 
10 plt.pie(x=fracs,labels=labels,autopct='%.1f%%',explode=explode,shadow=True)
11 # autopct='%.1f%%'表示每一块所占总块的比例,
12 # explode=explode表示每块分离出的距离
13 # shadow=True将分离出的饼块添加阴影
14 
15 plt.show()
复制代码

 箱形图

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

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

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

 

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

 



所属网站分类: 技术文章 > 博客

作者:听爸爸的话

链接:https://www.pythonheidong.com/blog/article/198152/413e0457140682afbbaf/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

7 0
收藏该文
已收藏

评论内容:(最多支持255个字符)