基础应用
#导入模块 import matplotlib.pyplot as plt import numpy as np x = np.linspace(-1,1,50) y1 = 2*x + 1 y2 = x ** 2 plt.figure()#定义图像窗口 plt.plot(x,y1)#画出(x,y1)曲线 plt(x,y2,color='red',linewidth=1.0,linestyle='--')#可选参数:color选择颜色,linewidth线宽,linestyle线的形式 plt.show()#显式图像 #jupyterlab中只需要plt.plot()即可画出图像
设置坐标轴
legend(图例:区分不同数据
- 可选参数plt.legend(handles=,labels=,loc=,)
annatation(注解
- plt.scatter(x0,y0):打印指定点
- plt.plot([],[]):显示线条
- 标注线条
- plt.annotate()
- plt.text()
- plt.annotate()
axis tick
code
x = np.linspace(-1,1,50) y = 2*x + 1 y2 = x ** 2 plt.xlim(-1,2) #x取值范围 plt.ylim(-2,3)#y取值范围 plt.xlabel('i am x')#x轴标签 plt.ylabel('i am y')#y轴标签 #设置坐标轴 new_ticks = np.linspace(-1,2,5) print(new_ticks) plt.xticks(new_ticks) #改变x坐标轴 plt.yticks([-2,-1.8,-1,1.22,3], [r'$really\ bad$',r'$bad$',r'$normal$',r'$good$',r'$really\ good$']) #重命名y轴坐标,r'$name$'改变字体,$ $之间输出空格/特殊字符要用'\', # gca = 'get current axis' ax = plt.gca() # 获取坐标轴 ax.spines['right'].set_color('none') # 移除 ax.spines['top'].set_color('none') ax.xaxis.set_ticks_position('bottom') # 设置x轴 ax.yaxis.set_ticks_position('left') # 设置y轴 ax.spines['bottom'].set_position(('data',0)) # 通过data值选择位置 ax.spines['left'].set_position(('data',0)) #添加图例 l1, = plt.plot(x,y,label='up') l2, = plt.plot(x,y2,color='red',label='down') plt.legend(loc='best',handles=[l1,l2,],labels=['a','b']) # 添加注解annatate x0 = 0.5 y0 = 2*x0+1 plt.scatter(x0,y0,s=50,color='b') #将点(x0,y0)标注出,s:size,'b':blue plt.plot([x0,x0],[y0,0],'k--') # [x0,x0],[y0,0]对应(x0,y0) (x0,0)连结的线,'k--'表示黑色的虚线 #标注点(xo,y0) ##method 1 plt.annotate(r'$2x+1=y$',xy=(x0,y0),xytext=(+30,-30),textcoords = 'offset points', arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=0.2')) # xytext=(+30,-30)和textcoords='offset points'表示对标注位置的描述和xy的偏差值 # arrowprops是对箭头相关类型的设置 ##method2 plt.text(-1.2,1.5,r'$this\ is\ the\ text.\mu\ \sigma_i\ \alpha_t$', fontdict={'color':'r'}) # -1.2,1.5表示标注起始坐标,fontdict指定字体格式(可选参数包括size,color等) #调整坐标 for label in ax.get_xticklabels()+ax.get_yticklabels(): label.set_fontsize(12)#调节字体大小 label.set_bbox(dict(facecolor='g',edgecolor='none',alpha=0.5)) #bbox设置目的内容透明度的相关参: #facecolor调节前景色,edgecolor设置边框,alpha设置透明度
画图种类
Scatter散点图
- plt.scatter(X,Y)#可选参:size/color..