数据可视化之matplotlib-01
- 引入matplotlib.pyplot包与全局中文字体设置
- Plot快速绘图
- plt.plot()其他常用参数
- 常用的图像设置命令
- plt.title()设置图像标题
- plt.xlim() 设置x轴显示范围
- plt.xlabel() 设置x轴名称
- plt.ylabel() 设置y轴名称
- plt.grid() 显示坐标网格线
- plt.axhline() 绘制平行于x轴的水平参考线
- plt.axvline() 绘制平行于y轴的水平参考线
- plt.axhspan() 绘制垂直于y轴的参考区域
- plt.axvspan() 绘制垂直于x轴的参考区域
- plt.legend() 标示不同图形的文本标签图例
- plt.xticks()设置x轴标签名称
- plt.yticks()设置y轴标签名称
- plt.text()添加图形内容细节的无指向型注释文本
- plt.annotate()添加图形内容细节的指向型注释文本
引入matplotlib.pyplot包与全局中文字体设置
导入语句:
import matplotlib.pyplot as plt
pyplot包并不默认支持中文显示,需要.rcParams()方法修改字体来实现。
使用下面的语句:
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
Plot快速绘图
举例:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.05,10,1000) #在0.05~10之间间隔取1000个数
y = np.sin(x)
plt.plot(x,y)
plt.show() #显示所绘图像
import matplotlib.pyplot as plt
%matplotlib inline #使用notebook显示图像
import numpy as np
x = np.linspace(1,10,10)
y = x ** 2
plt.plot(x,y,color='#ff3456',marker='*',linestyle='--') #plt.plot(x,y,'r*--')
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
x = np.linspace(1,10,10)
y = np.cos(x)
plt.plot(x,y,'b*')
plt.plot()其他常用参数
- linewidth #定义线条的宽度,可取任意实数
- alpha #定义线条的透明度,一般取值**[0,1]**
- drawstyle #定义描点方式
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'b*-', drawstyle = 'steps')
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'b*-', linewidth = 10, drawstyle = 'steps')
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'b*-', linewidth = 10, alpha = 0.3, drawstyle = 'steps')
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'b*-', linewidth = 10, alpha = 0.3, drawstyle = 'steps')
常用的图像设置命令
plt.title()设置图像标题
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'r*-',linewidth = 10, alpha = 0.6, drawstyle = 'steps')
plt.title("我的matplotlib图")
plt.xlim() 设置x轴显示范围
plt.xlabel() 设置x轴名称
plt.ylabel() 设置y轴名称
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'r*-',linewidth = 10, alpha = 0.6, drawstyle = 'steps')
plt.title("我的matplotlib图")
plt.xlim(2,6)
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.grid() 显示坐标网格线
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'r*-',linewidth = 10, alpha = 0.6, drawstyle = 'steps')
plt.title("我的matplotlib图")
plt.xlim(2,6)
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.grid()
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'r*-',linewidth = 10, alpha = 0.6, drawstyle = 'steps')
plt.title("我的matplotlib图")
plt.xlim(2,6)
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.grid(linestyle=':', color = 'r')
plt.axhline() 绘制平行于x轴的水平参考线
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'g*-',linewidth = 10, alpha = 0.9, drawstyle = 'steps')
plt.title("我的matplotlib图")
plt.grid(ls=':',c='b')
plt.axhline(y=0.25,color='blue',linewidth=6)
plt.axvline() 绘制平行于y轴的水平参考线
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'g*-',linewidth = 10, alpha = 0.9, drawstyle = 'steps')
plt.title("我的matplotlib图")
plt.grid(ls=':',c='b')
plt.axhline(y=0.25,color='blue',linewidth=6)
plt.axvline(6,c='r',lw=5)
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'g*-',linewidth = 10, alpha = 0.9, drawstyle = 'steps')
plt.title("我的matplotlib图")
plt.grid(ls=':',c='b')
plt.axhline(y=0.25,color='blue',linewidth=6)
plt.axvline(6,c='r',lw=5, ls='-.')
plt.axhspan() 绘制垂直于y轴的参考区域
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'g*-',linewidth = 10, alpha = 0.9, drawstyle = 'steps')
plt.title("我的matplotlib图")
plt.grid(ls=':',c='b')
plt.axhspan(-0.25,0.25)
plt.axvline(6,c='r',lw=5,ls='-.')
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'g*-',linewidth = 10, alpha = 0.9, drawstyle = 'steps')
plt.title("我的matplotlib图")
plt.grid(ls=':',c='b')
plt.axhspan(-0.25,0.25,facecolor = 'yellow',alpha=0.9)
plt.axvline(6,c='r',lw=5,ls='-.')
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'g*-',linewidth = 10, alpha = 0.9, drawstyle = 'steps')
plt.title("我的matplotlib图")
plt.grid(ls=':',c='b')
plt.axhspan(-0.25,0.25,facecolor = 'yellow',alpha=0.9)
plt.axvline(6,c='r',lw=5,ls='-.')
plt.axvspan(4,8,facecolor='c',alpha=0.3)
plt.axvspan() 绘制垂直于x轴的参考区域
plt.legend() 标示不同图形的文本标签图例
plt.xticks()设置x轴标签名称
plt.yticks()设置y轴标签名称
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'g*-',linewidth = 10, alpha = 0.9, drawstyle = 'steps',label='y=sin(x)')
plt.title("我的matplotlib图")
plt.grid(ls=':',c='b')
plt.axhspan(-0.25,0.25,facecolor = 'yellow',alpha=0.9)
plt.axvline(6,c='r',lw=5,ls='-.')
plt.axvspan(4,8,facecolor='c',alpha=0.3)
plt.legend(loc='upper right')
plt.yticks([-1,-0.5,0,0.5,1],['甲','乙','丙','丁','戌'])
plt.text()添加图形内容细节的无指向型注释文本
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'g*-',linewidth = 10, alpha = 0.9, drawstyle = 'steps',label='y=sin(x)')
plt.title("我的matplotlib图")
plt.grid(ls=':',c='b')
plt.axhspan(-0.25,0.25,facecolor = 'yellow',alpha=0.9)
plt.axvline(6,c='r',lw=5,ls='-.')
plt.axvspan(4,8,facecolor='c',alpha=0.3)
plt.legend(loc='upper right')
plt.text(1.5,0,'y=cos(x)',weight='bold',color='b')
plt.annotate()添加图形内容细节的指向型注释文本
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'g*-',linewidth = 10, alpha = 0.9, drawstyle = 'steps',label='y=sin(x)')
plt.title("我的matplotlib图")
plt.grid(ls=':',c='b')
plt.axhspan(-0.25,0.25,facecolor = 'yellow',alpha=0.9)
plt.axvline(6,c='r',lw=5,ls='-.')
plt.axvspan(4,8,facecolor='c',alpha=0.3)
plt.legend(loc='upper right')
plt.text(1.5,0,'y=cos(x)',weight='bold',color='b')
plt.annotate("最大值",xy=(0,1),xytext=(0.8,1),arrowprops=dict(arrowstyle='->'))