matplotlib基本绘图笔记
matplotlib基本绘图笔记,跟我一起来绘制一个丑陋的三角函数图吧!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
#encoding=utf-8 import numpy as np import matplotlib.pyplot as plt #基本绘图设置 x=np.linspace(-np.pi,np.pi,256,endpoint=True)#2560个点 是否包含最后一个点 c,s=np.cos(x),np.sin(x) plt.figure(1)#指定绘制图像1 plt.plot(x,c,color="blue",linewidth=1.5,linestyle="-",label="cos",alpha=0.5)#绘制 (自变量,因变量,颜色,宽度,线形,标签,透明度) plt.plot(x,s,"r*",label="sin")#"r->红色 *->线形" plt.title("testruilin cos sin")#标题 #设置轴 ax=plt.gca()#轴的编辑器 ax.spines["right"].set_color("none")#隐藏右面的轴 ax.spines["top"].set_color("none") ax.spines["left"].set_position(("data",0))#把左面的轴移到数据为0的位置 ax.spines["bottom"].set_position(("data",0)) #轴旁边的数字相关设置 ax.xaxis.set_ticks_position("bottom")#把x轴数字放到x轴下方 ax.yaxis.set_ticks_position("left") plt.yticks(np.linspace(-1,1,5,endpoint=True))#-1到1标5个点 plt.xlim(-5,5)#范围 for label in ax.get_xticklabels()+ax.get_yticklabels():#字体相关设置 label.set_fontsize(18) label.set_bbox(dict(facecolor="white",edgecolor="black",alpha=0.3)) #其他 plt.grid()#网格线 plt.legend(loc="upper left")#图例位置 #plt.axis([-1,2,0.5,1])#显示范围 plt.fill_between(x,np.abs(x)<0.8,c,c>0.1,color="green",alpha=0.4)#填充效果 横坐标绝对值小于0.8为真即1 从y=1开始往下填充 大于0.8即为0 从0往上填充 这是纵向范围 ,横向范围由c定义范围决定,这里如图是纵坐标为0.1以上的横向距离符合,最后填充符合横向距离与纵向距离的范围的交集 #注释 t=1 plt.plot([t,t],[0,np.cos(t)],"y",linewidth=2.2,linestyle="--")#绘制一条线 两点分别为t,0 t,cos(t)的连线 虚线 plt.annotate("cos(1)",xy=(t,np.cos(t)),xycoords="data",xytext=(+10,+30),textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=0.3")) #注释 基本位置 coords是坐标的意思 xytext=(+10,+30),textcoords="offset points"控制偏移量并设置为相对偏移 arrowprops设置箭头工具 类型 弧度 plt.show()#展示 |
近期评论