python Matplotlib库的介绍和使用

博客介绍了Matplotlib这一数据可视化库,它由各类可视化类构成,其pyplot命令子库可绘制各类图形,常与Numpy结合使用。还介绍了pyplot.plot()函数、中文显示及属性方法、文本显示函数等,最后提及了散点图和饼图等基础图表的绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Matplotlib是一款可以数据可视化的库。由各种可视化的类构成。
matplotlib.pyplot是绘制各类可视化图形的命令子库。
通常别名为plt 命令如import matplotlib.pyplot as plt

Matplotlib通常和Numpy结合使用。

Matplotlib

使用

import matplotlib.pyplot as plt #导入

#当有两个以上参数时,按照X轴和Y轴顺序绘制数据点
plt.plot([0,2,4,6,8,10],[6,5,2,9,3,1])#以列表或数组的形式
plt.ylabel("hello view")  #y轴 纵坐标的名字
plt.xlabel("time")  #x轴
#将图片储存为文件
plt.savefig("demo01", dpi=600)  #默认PNG格式  dpi修改输出的质量
plt.show()#数据的可视化的展示效果

简单的表示没有添加更多的效果展示图。
在这里插入图片描述

几个函数的介绍
pyplot.plot()函数

plt.plot(x, y, format_string, **kwargs)
x: X轴数据,列表或数组,可选
y: Y轴数据,列表或数组
format_string: 控制曲线的格式字符串
**kwargs: 第二组或更多(x,y,format_string)

当绘制多条曲线,各虚线的x不能省略

format_string控制曲线的格式字符串,可选由颜色字符,风格字符,标记字符
- 颜色字符
'b' 蓝色
'g' 绿色
'r' 红色
'c' 青绿色
'm' 洋红色
'y' 黄色
'k' 黑色
'w' 白色
'#006000'   RGB某颜色
'0.8'   灰度值字符串
- 字符风格
'-'实线
'--' 破折现
'-.' 点划线
':' 虚线
' ' ' ' 无线条  

- 标记字符  均在' ' 中
.   点标记
,  像素标记(极小点)
o  实心圈标记
v  倒三角标记
^  上三角标记
>  右三角标记
<  左三角标记
1  下花三角标记
2  上花三角标记
3  左花三角标记
4  右花三角标记
s  实心正方形标记
p  实心五角标记
*  星形标记
h  竖六边形标记
H  横六边形标记
+  十字标记
x  x标记
D  菱形标记
d  瘦菱形标记
|   垂直线标记

颜色字符、风格字符和标记字符可以组合使用

import matplotlib.pyplot as  plt
import numpy as np

a = np.arange(10)
#控制曲线的样式
plt.plot(a,a*1.5,'-', a,a*2.5,'r--1', a, a*3.5, '*' ,a,a*4.5,'b-',a,a*5.5,'m:o')
plt.show()

在这里插入图片描述

**kwargs:为第二组或更多(x,y,format_string)
color:控制颜色,color='green'
linestyle:线条风格, linestyle='dashed'
marker:标记风格,  marker='*'
markerfacecolor:标记颜色, markerfacecolor='blue'
markersize:标记尺寸,  markesize='30'

pyplot中文显示和属性方法
pyplot默认不支持中文,使用rcParams修改字体

import matplotlib.pyplot as  plt
import matplotlib

#显示中文  SimHei是黑体
matplotlib.rcParams['font.family'] = 'SimHei'
plt.plot([1,4,5,7,9,8,6,4,2])
plt.ylabel('纵轴y')
plt.xlabel('横轴x')
plt.title('这是随机的函数',fontproperties='FangSong',fontsize='20')  #标题  并设定字体样式
plt.text(4,8.5,'x=4时取最大值',fontsize=10)

#plt.axis([-1,10,-1,10]) 可以设定xy轴的大小范围
plt.grid(True)  #开启网格线
plt.show()

在这里插入图片描述

rcParams属性
'font.family' 用于显示字体名字
'font.style'  字体风格,正常'normal'或斜体 'italic'
'font.size'  字体大小,整数字号或者 'large'、'x-small'

中文字体的种类
rcParams['font.family']='  '
SimHei  中文黑体
Kaiti   中文楷体
LiSu  中文隶属
FangSong  中文仿宋
YouYuan   中文幼圆
STSong  华文仿宋

pyplot文本显示函数

plt.xlable()  对x轴增加文本标签
plt.ylable()  对y轴增加文本标签
plt.title()  在图形整体增加文本标签
plt.text()   在任意位置增加文本
plt.annotate() 在图形中任意位置增加带箭头的注解

pyplot的绘图区域
plt.subplot2grid()

plt.subplot2grid(GridSpec, CurSpec, colspan=1, rowspan=1)
设定网格,选中网格,确定选中行列区域数量,编号从0开始

plt.subplot2grid((3,3),(1,0),colspan=2)
在这里插入图片描述

在多个区域绘制图

from math import pi
import numpy as np
import matplotlib.pyplot as plt
def Fnn(t):#构建一个函数
    return np.exp(-t) * np.cos(2*np.pi*t)
a = np.arange(0.0, 5.0, 0.02)
plt.subplot(221) #区域位置
plt.plot(a, Fnn(a))
plt.subplot(222)
plt.plot(a, np.cos(2*np.pi*a), 'r--')
plt.subplot(223)
plt.plot(a, Fnn(a))
plt.subplot(224)
plt.plot(a, np.cos(2*np.pi*a), 'r--')
plt.show()
print(a)

在这里插入图片描述

pyplot基础图表函数

- 函数
plt.plot(x,y,fmt,...)   绘制一个坐标图
plt.boxplot(data, notch, position)  绘制一个箱型图
plt.bar(left, height, width, bottom)  绘制一个条形图
plt.barth(width, bottom, left, height)  绘制一个横向条形图
plt.polar(theta, r)  绘制极坐标图
plt.pie(data, explode)  绘制饼图
plt.psd(x,NFFT=256,pad_to,Fs)  绘制功率谱密度图
plt.specgram(x, NFFT=256, Fs)  绘制谱图
plt.cohere(x,y,NFFT=256, Fs)   绘制X-Y的相关性函数
plt.scatter(x,y)  绘制散点图,x和y长度相同
plt.step(x,y,where)  绘制步阶图
plt.hist(x,bins,normed)  绘制直方图
plt.contour(X,Y,Z,N)  绘制等值图
plt.vlines()  绘制垂直图
plt.stem(x,y,linefmt,markerfmt)  绘制柴火图
plt.plot_data()  绘制数据日期

散点图的绘制

import numpy as np
import matplotlib.pyplot as plt

fig,ax= plt.subplots()
ax.plot(10*np.random.randn(100), 10*np.random.randn(100), 'rv')
ax.set_title('points')
plt.show()

在这里插入图片描述

饼图的绘制

import matplotlib.pyplot as plt
labels = 'dogs','cats','pigs','mouse'
sizes = [15, 30, 45, 10]
explode = (0, 0.1 ,0 ,0.1)
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',shadow=False,startangle=90)
plt.axis('equal')
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值