Matplotlib中图形简介

折线图

定义

折线图是将数据标注成点,并通过直线将这些点按照某种顺序连接而成的图表,它以折线的倾斜程度来形象地反映事物沿某一维度的变化趋势,能够清晰地展现数据增减的趋势、速率、规律及峰值等特征。
在这里插入图片描述

1.plot()函数

语法:

plot(x,y,fmt)

参数解释:

参数解释
x表示x轴的数据,默认值为range(len(y))
y表示y轴的数据
fmt表示快速设置线条样式的格式字符串

2.同时绘制多条折线图

语法:
方法一:

plt.plot(x1,y1)
plt.plot(x2,y2)
plt.plot(x3,y3)

方法二:

plt.plot(x1,y1,x2,y2,x3,y3)

效果呈现:
在这里插入图片描述

3.实例

import matplotlib.pyplot as plt
import numpy as np
x = np.arange(6)
y1 = np.array([16.9,22.9,26.9,27.7,29.5,28.1])
y2 = np.array([13.8,22.1,24.9,26.6,26.6,25.6])
plt.plot(x,y1)
plt.plot(x,y2)
plt.show()

在这里插入图片描述

柱形图

定义

柱形图是由一系列宽度相等的纵向矩形条组成的图表,它使用矩形条的高度表示数值,以此反应不同分类数据之间的差异。
在这里插入图片描述

1.bar()函数

语法:

bar(x,height,width=0.8,bottom=None,align='center',tick_label=None)

参数解释:

参数解释
x表示柱形的x坐标值
height表示柱形的高度
width表示柱形的宽度,默认为0.8
bottom表示柱形底部的y值,默认为0.8
align表示对齐方式,有两种方式:center和edge
tick_label表示柱形对应的刻度标签

2.绘制柱形图

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']#中文不会乱码
x = np.arange(4)
y1 = np.array([49234,29087,33025,46722])
plt.bar(x,y1,tick_label = ['广东','浙江','山东''江苏'],width = 0.3)
plt.show()

效果呈现:
在这里插入图片描述

3.绘制多组柱形图

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
x = np.arrange(4)
y1 = np.array([49234,29087,33025,46722])
y2 = np.array([10968,7388,4529,6612])
bar_width = 0.3
plt.bar(x,y1,tick_label = ['广东','浙江','山东','江苏'],width = bar_width)
plt.bar(x+bar_width,y2,width = bar_width)
plt.show()

效果呈现:
在这里插入图片描述

4.绘制堆积柱形图

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
x = np.arange(4)
y1 = np.array([49234,29087,33025,46722])
y2 = np.array([10968,7388,4529,6612])
bar_width = 0.3
plt.bar(x,y1,tick_label=['广东','浙江','山东','江苏'],width=bar_width)
plt.bar(x,y2,bottom=y1,width=bar_width)
plt.show()

效果呈现:
在这里插入图片描述

条形图

定义

条形图是横置的柱形图,由一系列高度相等、长短不一的横向矩形条组成。
在这里插入图片描述

1.barh()函数

语法:

barh(y,width,height=0.8,left=None,align='center',tick_label=None)

参数解释:

参数解释
y表示条形y的值
width表示条形的宽度
height表示条形的高度,默认为0.8
left条形左侧x坐标值,默认值为0
align表示条形的对齐方式,默认值为“center”,即条形与刻度线居中对齐。
tick_label表示条形对应的刻度标签

2.绘制条形图

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
y = np.arange(4)
x1 = np.array([49234,29087,33025,46722])
bar_height = 0.3
plt.barh(y,x1,tick_label=['广东','浙江','山东','江苏'],heigth=bar_height)
plt.show()

效果呈现:
在这里插入图片描述

3.绘制多组条形图

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
y = np.arange(4)
x1 = np.array([49234,29087,33025,46722])
x2 = np.array([10968,7388,4529,6612])
bar_height = 0.3
plt.barh(y,x1,tick_label = ['广东','浙江','山东','江苏'],height = bar_height)
plt.barh(y+bar_height,x2,height=bar_height)
plt.show()

效果展示:
在这里插入图片描述

4.绘制堆积条形图

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']
y = np.arange(4)
x1 = np.array([49234,29087,33025,46722])
x2 = np.array([10968,7388,4529,6612])
bar_width=0.3
plt.barh(y,x1,tick_label=['广东','浙江','山东','江苏'],height=bar_height)
plt.barh(y,x2,left=x1,height=bar_height)
plt.show()

效果展示:
在这里插入图片描述

堆积面积图

定义

堆积面积图是由若干条折线与折线或水平坐标轴之间的填充区域组成的图表,用于强调每个部分的变化趋势。
在这里插入图片描述

1.stackplot()函数

语法:

stackplot(x,y)

参数解释:

参数解释
x表示x轴的数据,可以是一维数组
y表示y轴的数据,可以是二维数组或一维数组

2.绘制堆积面积图

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(6)
y1 = np.array([1,4,3,5,6,7])
y2 = np.array([1,3,4,2,7,6])
y3 = np.array([3,4,3,6,5,5])
plt.stackplot(x,y1,y2,y3)
plt.show()

效果展示:
在这里插入图片描述

直方图

定义

直方图又称质量分布图,是由一系列高低不等的纵向矩形条或线段组成的图表,用于反应数据的分布和波动情况。

1.hist()函数

语法:

hist(x,bins=None)

参数解释:

参数解释
x表示x轴的数据
bins表示矩形条的个数,默认为10个

2.绘制直方图

import numpy as np
import matplotlib.pyplot as plt
scores = np.random.randint(160,185,100)#160-185之间取100个数
plt.hist(scores,bins=8)
plt.show()

效果展示:
在这里插入图片描述

饼图

定义

饼图是由若干个面积大小不一、颜色不同的扇形组成的圆形图标。
在这里插入图片描述

1.pie()函数

语法:

pie(x,labels=None,autopct=None,wedgeprops=None)

参数解释:

参数解释
x数据
labels标签
autopct数值显示
wedgeprops楔形属性的字典

2.绘制饼图

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
data = np.array([20,50,10,15,30,55])
pie_labels = np.array(['篮球','足球','游戏','象棋','读书','旅游'])
plt.pie(data,radius=1.5,labels=pie_labels,autopct='%.1f%%')
plt.show()

在这里插入图片描述

3.绘制圆环图

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
data = np.array([20,50,10,15,30,55])
pie_labels = np.array(['篮球','足球','游戏','象棋','读书','旅游'])
plt.pie(data,radius=1.5,wedgeprops={'width':0.7},labels=pie_labels,autopct='%.1f%%')
plt.show()

在这里插入图片描述

散点图

定义

散点图又称为X-Y图,是由若干个数据点组成的图表,主要用于判断两变量之间是否存在某种关联,或者总结数据点的分布模式。
在这里插入图片描述

1.scatter()函数

语法:

scatter(x,y,s=None,c=None,marker=None)

参数解释:

参数解释
x,y数据变量
s表示数据点的大小
c表示数据点的颜色
marker表示数据点的样式,默认为圆形

2.绘制散点图

import numpy as np
import matplotlib.pyplot as plt
x=np.array([17.1,10.5,13.8,15.7,11.9,10.4,15.0,16.0,17.8)
y=np.array([16.7,10.4,13.5,15.7,11.6,10.2,14.5,15.8,17.6)
plt.scatter(x,y,c='red')

效果展示:
在这里插入图片描述

3.绘制气泡图

import numpy as np
import matplotlib.pyplot as plt
x=np.array([31.4,22,34.1,29.1,27,24,20.9,27.8,20.8,28.5])
y=np.array([20,16,19.8,18.4,17.1,15.5,14.7,17.1,15.4,16.2])
plt.scatter(x,y,c='purple')

效果展示:
在这里插入图片描述

箱型图

定义

箱型图又称箱线图,是一种利用数据中的5个统计量–最小值、下四分位数、中位数、上四分位数和最大值–描述数据的图表,主要用于反映一组或多组数据的对称性、分布程度等信息。
在这里插入图片描述

1.boxplot()函数

语法:

boxplot(x,patch_artist=None,showfliers=None,labels=None)

参数解释:

参数解释
x数据
patch_artist是否填充箱体,默认不填充
showfliers表示是否显示异常值,默认显示
labels表示箱型图的标签

2.绘制箱型图

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['axes.unicode_minus']=False
data = np.random.randn(100)
plt.boxplot(data,widths=0.3,patch_artist=True,showfliers=False)
plt.show()

效果展示:
在这里插入图片描述

3.实例

import numpy as np
imprt matplotlib.pyplot as plt
plt.rcParams['font.family']='SimHei'
plt.rcParams['axes.unicode_minus']=False
data_2018=np.array([5200,5254.5,5283.4,5107.8,5443.3,5550.6])
data_2017=np.array([4605.2,4710.3,5168.9,4767.2,4947,5203])
plt.boxplot([data_2018,data_2017],labels=('2018年','2017年'),widths=0.5,vert=False,patch_artist=True)
plt.show()

效果展示:
在这里插入图片描述

雷达图

定义

雷达图又称蜘蛛网图,由一组坐标轴和多个等距同心圆或多边形组成,是一种表现多维数据的图表。
在这里插入图片描述

1.polar()函数

语法:

polar(theta,r)

参数解释:

参数解释
theta表示每个数据点所在射线与极径的夹角
r表示每个数据点到原点的距离

2.绘制雷达图

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
properties=['输出','KDA','发育','团战','生存']
values = [40,91,44,90,95,40]
values1 = [20,21,24,20,25,20]
theta = np.linspace(0,np.pi*2,6)
plt.polar(theta,values)
plt.polar(theta,values1)
plt.xticks(theta,properties)
plt.fill(theta,values)

效果展示:
在这里插入图片描述

总结

Python是非常强大的数据计算工具,其Matplotlib包封装了非常强大的图像编辑功能,下面是各种图形的表达式:

图形函数
折线图plot(x,y,fmt)
柱形图bar(x,height,width=0.8,bottom=None,align=‘center’,tick_label=None)
条形图barh(y,width,height=0.8,left=None,align=‘center’,tick_label=None)
堆积面积图stackplot(x,y)
直方图hist(x,bins=None)
饼图pie(x,labels=None,autopct=None,wedgeprops=None)
散点图scatter(x,y,s=None,c=None,marker=None)
箱型图boxplot(x,patch_artist=None,showfliers=None,labels=None)
雷达图polar(theta,r)
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hawzhangy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值