申明:本人博客为自己学习记录,本文学习内容主要来源以下两篇博客。
https://www.jianshu.com/p/78ba36dddad8
https://blog.csdn.net/lm_is_dc/article/details/81191207
1、基础知识
1.1 库
主要用到的两个库:
1.2 图形组成标签
图片来源:https://www.jianshu.com/p/78ba36dddad8
几个重要的标签:
1.3 导入库
import numpy as npimport matplotlib.pyplot as plt
2、绘图
2.1 包含单条曲线的图
from matplotlib import pyplot as plt
x=[1,2,3,4,5]
y=[2,4,6,8,10]
plt.figure() # 定义一个图像窗口
plt.plot(x,y) # 绘制曲线
plt.show() #显示图像
结果:
import numpy as np
from matplotlib import pyplot as plt
x1=np.arange(-np.pi,np.pi,0.01)
# y1=np.power(x1,2) #指数函数
y1=x1**2 #指数函数(同上)
plt.figure() # 定义一个图像窗口
plt.plot(x1,y1) # 绘制曲线
plt.show() #显示图像
结果:
2.2 包含多条曲线的图
import numpy as np
from matplotlib import pyplot as plt
x=[1,2,3,4,5]
y=[2,4,6,8,10]
x1=np.arange(-np.pi,np.pi,0.01)
# y1=np.power(x1,2) #指数函数
y1=x1**2 #指数函数(同上)
plt.figure() # 定义一个图像窗口
plt.plot(x,y) # 绘制曲线y
plt.plot(x1,y1) # 绘制曲线y1
plt.show() #显示图像
结果:
import numpy as np
from matplotlib import pyplot as plt
x=[1,2,3,4,5]
y=[2,4,6,8,10]
x1=np.arange(-np.pi,np.pi,0.01)
# y1=np.power(x1,2) #指数函数
y1=x1**2 #指数函数(同上)
plt.figure() # 定义一个图像窗口
plt.plot(x,y,x1,y1) # 绘制曲线y,y1, 注意顺序
#plt.plot(x1,y1) # 绘制曲线y1
plt.show() #显示图像
2.3 将多个曲线图绘制在一个Figure(图像窗口)区域中:对象形式创建表图
a=plt.subplot(row,col,loc) 创建曲线图
a.plot(x,y) 绘制曲线图
实例:
import numpy as np
from matplotlib import pyplot as plt
x=[1,2,3,4,5]
y=[2,4,6,8,10]
x1=np.arange(-np.pi,np.pi,0.01)
# y1=np.power(x1,2) #指数函数
y1=x1**2 #指数函数(同上)
x2=np.linspace(-np.pi,np.pi,5) 、
y2=np.sin(x)
plt.figure() # 定义一个图像窗口
a1=plt.subplot(2,2,1) #创建曲线图
a1.plot(x,y) #绘制曲线图
a2=plt.subplot(2,2,2) #创建曲线图
a2.plot(x1,y1) # 绘制曲线
a3=plt.subplot(223) #创建曲线图 可以省略逗号
a3.plot(x2,y2) # 绘制曲线
plt.show() #显示图像
结果:
2.4 网格线gride
参数:
设置网格:
import numpy as np
from matplotlib import pyplot as plt
x=np.linspace(-np.pi,np.pi,100)
y=np.sin(x)
a1=plt.subplot(221)
a1.grid()
a1.plot(x,y)
a2=plt.subplot(222)
a2.grid()
a2.plot(x,y)
a3=plt.subplot(223)
a3.grid()
a3.plot(x,y)
a4=plt.subplot(224)
a4.grid()
a4.plot(x,y)
plt.show() #显示图像
结果:
2.5 坐标轴界限
plt.axis([xmin,xmax,ymin,ymax])
例如:plt.axis([-4,4,-2,2])
plt.axis(‘off‘)
plt.figure(figsize=(a,b))
参数:
可以通过plt的xlim(xmin,xmax),ylim方法设置坐标轴范围;
plt.xlim(-6,6)
plt.ylim(-2,2)
ax1=plt.subplot(111) ax1.set_xlim(-4,4) ax1.set_ylim(-2,2)
2.6 坐标轴标签
import numpy as np
from matplotlib import pyplot as plt
x=np.linspace(-np.pi,np.pi,100)
y=np.cos(x)
plt.title(‘tittle‘)
plt.ylabel(‘yyy‘,fontsize=16,rotation=90,color=‘r‘)
plt.xlabel(‘xxx‘,fontsize=16)
plt.plot(x,y)
plt.show()
结果:
2.6.1 显示坐标轴中文标签
设置参数:fontproperties
import numpy as np
from matplotlib import pyplot as plt
x=np.linspace(-np.pi,np.pi,100)
y=np.cos(x)
ax=plt.subplot(111)
ax.set_xlabel(‘x轴‘,fontproperties=‘KaiTi‘,fontsize=18) #对象方法
ax.set_ylabel(‘y轴‘,fontproperties=‘KaiTi‘,fontsize=18)
ax.set_title(‘标题‘,fontproperties=‘KaiTi‘,fontsize=16)
ax.plot(x,y)
plt.show()
2.7、 标题
2.8、图例
2.8.1 legend方法
两种传参方法:
x=np.linspace(0,10,30)
y=x ** 2
plt.plot(x,y,label=‘aaa‘) #参数传递方法1,绘制曲线
plt.plot(x+1,y-1,label=‘bbb‘)
plt.legend()
import numpy as np
from matplotlib import pyplot as plt
x=np.linspace(0,10,30)
y=x ** 2
plt.plot(x,y)
plt.plot(x+1,y-1)
plt.legend([‘a‘,‘b‘])
plt.show()
2.8.2 legend的参数
loc参数 : 用于设置图例标签的位置,一般在legend函数内
matplotlib已经预定义好几种数字表示的位置,见下表:
例如:plt.legend([‘aaa‘,‘bbb‘],loc=5)
loc参数可以是2元素的元组,表示图例左下角的坐标:
[1,1] 右上
ncol参数 : 控制图例中有几列,在legend中设置ncol。
例如:plt.legend([‘aaa‘,‘bbb‘],loc=[1,1],ncol=2)
(ncol:两行)
2.9、 保存图片
参数说明:
读取图片:
img=plt.imread(‘./111.jpg‘)
plt.imshow(img)
plt.show()
为什么没有线了!!!
3、设置plot的风格和样式
未完、、、、
原文:https://www.cnblogs.com/bltstop/p/11334371.html