1.1 线性图绘制
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,2*np.pi,100) # 生成一个0-2*np.pi的等差数列
y=np.sin(x)
# 绘制线型图
plt.plot(x,y)
plt.xlim(-1,10) # 限制x的横坐标
plt.ylim(-1.5,1.5) # 限制y的纵坐标
plt.grid(color='red',alpha=0.3,linestyle='--',linewidth=6) # 网格线 ,设置网格线颜色,并且设置网格线的透明度,最后代表虚线,代表线的宽度
1.2 查看系统自带语言
from matplotlib import font_manager # 管理语言编码
fm=font_manager.FontManager() # 设置字体管理对象
[font.name for font in fm.ttflist] # 打印系统语言生成一个列表 Ctrl+f搜索字体语言
1.3 对坐标轴进行说明
import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize=(9,6)) # 设置图形的尺寸
plt.plot(x,y)
plt.rcParams['font.family']='STKaiti' # 全局设置中文字体,便于打印输出中文
plt.rcParams['axes.unicode_minus']=False # 设置数字的负号
plt.rcParams['font.size']=28 # 设置数轴的字体大小
plt.title('正弦波',fontsize=18,color='red',pad=30) # 设置线型图的标题,设置标题字体大小,修改标题颜色,设置标题和图标的间距
plt.xlabel('X') # 设置x轴的标签
plt.ylabel('f(x)=sin(x)',rotation=0,horizontalalignment='right') #设置y轴标签,实现右对齐
plt.yticks([-1,0,1]) # 设置y轴的宽度
plt.xticks([0,np.pi/2,np.pi,1.5*np.pi,2*np.pi],
[0,r'$\frac{\pi}{2}$',r'$\pi$',r'$\frac{3\pi}{2}$',r'$2\pi$'],color='red') #frac表示分式,前为分子,后为分母
1.4 图例,绘制两个图形
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,2*np.pi) # x轴
y=np.sin(x)
plt.figure(figsize=(9,6)) # 调整图片尺寸大小
plt.plot(x,y) # 绘制线型图
plt.plot(x,np.cos(x)) # 绘制余弦线型图
# 调整图例
plt.legend(['Sin','Cos'],fontsize=18,loc='center',ncol=2,# 表示有多少列
bbox_to_anchor=[0,1.05,1,0.2]) # 参数表示为 x y width height
1.5 脊柱移动(坐标轴的移动)
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-np.pi,np.pi,50)
plt.rcParams['axes.unicode_minus']=False # 设置数字负号
plt.figure(figsize=(9,6),facecolor='green') # 设置图片尺寸,设置图片背景
plt.plot(x,np.sin(x),x,np.cos(x),color='green') # 绘制两条线的线型图,设置全部颜色
ax=plt.gca() # 获取当前视图
ax.set_facecolor(np.random.rand(3)) # 设置当前图片的背景填充色,随机生成不同颜色
# 右边和上面的脊柱消失
ax.spines['right'].set_alpha(0) # 将右边框线设置透明
ax.spines['right'].set_color('white') # 去除图片右边的框线
ax.spines['top'].set_color('#FFFFFF') # 去除图片上面的框线,FFF表示rgb的白色
# 设置下面左边脊柱位置,data表示数据,axes表示相对位置0-1
ax.spines['bottom'].set_position(('data',0)) # 移动底部的位置,0表示数值中间
ax.spines['left'].set_position(('data',0)) # 移动左边的位置,0表示数值中间
plt.yticks([-1,0,1],labels=['-1','0','1'],fontsize=18)
_=plt.xticks([-np.pi,-np.pi/2,np.pi/2,np.pi],
labels=[r'$-\pi$',r'$-\frac{\pi}{2}$',r'$\frac{\pi}{2}$',
r'$\pi$'],fontsize=18) # 设置x轴参数
plt.grid(linestyle='--',color='red') # 设置网格线为虚线
# plt.savefig('./1.png',# 图片保存在当前路径
# dpi=300) # 调整图片保存的像素,像素越高,图片越高清,jpg/png/pdf都可以进行保存
1.6 查看系统自带颜色
import matplotlib.pyplot as plt
plt.colormaps() # 查看系统颜色
1.7 图像颜色的设置(风格设置)¶
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,2*np.pi,20) # 20表示点的个数
y1=np.sin(x)
y2=np.cos(x)
# 设置颜色,线性,点型
plt.plot(x,y1,color='indigo',ls='-.',marker='p') # marker表示特定的形状
plt.plot(x,y2,color='#FFFFFF',ls='--',marker='o') # 十六进制表示颜色
plt.plot(x,y1+y2,color=(0.2,0.7,0.2),marker='*',ls=':') # 0-1之间也可以表示颜色
plt.plot(x,y1+2*y2,linewidth=3,alpha=0.7,color='orange')
plt.plot(x,2*y1-y2,'bo--') # 参数连用,表示color='blue',marker='o',linestyle='--'
1.8 多图布局¶
import numpy as np
import matplotlib.pyplot as plt
# f, 相当于将列表中的数据取出来
f,axes=plt.subplots(2,2) # 一次性绘制4个子视图,必须定义两个变量接受
axes[0,0].plot(x,np.sin(x),color='red')
axes[0,1].plot(x,np.sin(x),color='green')
axes[1,0].plot(x,np.cos(x),color='blue')
axes[1,1].plot(x,np.cos(x),color='pink')
1.9 双轴显示¶
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-np.pi,np.pi,50)
y=np.sin(x)
plt.plot(x,y,color='r')
plt.yticks(np.linspace(-1,1,11),color='r')
# 获取当前视图
ax=plt.gca()
ax2=ax.twinx() # 复制x轴,相当于两个x轴,这两个x轴是合到一起的,表示公用x轴
y2=np.exp(x)
plt.plot(x,y2,color='green')
plt.yticks(np.linspace(0,26,5),color='g')