本篇接着讲解更多的matplotlib中的图形元素和有关属性。
代码语言:javascript复制plt.xlim(xmin, xmax)
设置x轴的数值显示范围
代码语言:javascript复制plt.ylim(ymin, ymax)
设置x轴的数值显示范围
代码语言:javascript复制plt.grid(ls =':', lw=0.5, c = "g", alpha =0.8 )
可设置刻度线的线型、线宽、颜色、不透明度
代码语言:javascript复制plt.axhline(y=0, ls="--", lw=2,c ="r")
添加水平参考线,设置位置,线型,线宽和颜色
代码语言:javascript复制plt.axvline(x=-0.5*np.pi , ls="--", lw=2, c="r")
添加垂向参考线,设置位置,线型,线宽和颜色
代码语言:javascript复制plt.text(0, 1, " y = sin(x)", weight ="bold" ,color ="b")
添加无指向性注释文本,设置文本的x和y坐标(文本左下角),文本类容,粗细风格和颜色
代码语言:javascript复制plt.annotate("maximum", xy=(-1.5*np.pi,1),xytext=(-8,1.1),weight="bold",color ="g",
arrowprops = dict(arrowstyle="->", connectionstyle="arc3", color="r"))
添加指向性注释文本,被注释图形内容的位置,文本的位置,粗细风格和颜色,箭头的属性字典。常用的arrowstyle还有:
'-',“<-”,“<->”,"fancy", "simple", "wedge"
我们综合到一起看一下效果:
代码语言:javascript复制import matplotlib.pyplot as plt
import numpy as np
X = np.linspace(-10,10,100)
Y1 = np.random.randn(100)
Y2 = np.sin(X)
#plt.plot(X,Y1,ls = "-.", lw =2, color="blue", label="Y1")
plt.plot(X,Y2,ls = "-", lw =1, color="m", label="Y2")
plt.xlim(-8, 7) #设置x轴数值范围
plt.ylim(-1.2, 1.2)# 设置y轴数值范围
plt.axhline(y=0,ls="--",lw=2,c="r")#添加水平参考线,设置位置,线型,线宽和颜色
plt.axvline(x=-0.5*np.pi ,ls="--",lw=2,c="r")#添加竖向参考线,设置位置,线型,线宽和颜色
plt.axvline(x=1.5*np.pi ,ls="--",lw=2,c="r")#可添加多条参考线
#添加无指向性注释文本,设置文本的x和y坐标(文本左下角),文本类容,粗细风格和颜色
plt.text(0, 1, " y = sin(x)", weight ="bold" ,color ="b")
#添加指向性注释文本,被注释图形内容的位置,文本的位置,粗细风格和颜色,
#箭头的属性字典
plt.annotate("maximum", xy=(-1.5*np.pi, 1), xytext =(-8,1.1),weight="bold",color ="g",
arrowprops = dict(arrowstyle="->", connectionstyle="arc3", color="r"))
plt.title("Title")
plt.xlabel("x label")
plt.ylabel("y label")
plt.legend()
plt.grid(ls =':', lw=0.5, c = "g", alpha =0.8 )#可设置刻度线的线型,线宽,颜色,不透明度
plt.show()
代码语言:javascript复制plt.axvspan(xmin=-5.0, xmax=5.0,facecolor="r", alpha=0.4)
设置垂直于x轴的参考区域,设置起始位置,终止位置,填充颜色和不透明度
代码语言:javascript复制plt.axhspan(ymin=-1.0, ymax=1.0,facecolor="b", alpha=0.4)
同理,设置垂直于y轴的参考区域,设置起始位置,终止位置,填充颜色和不透明度。图略。
代码语言:javascript复制plt.legend(loc="lower right",shadow =True)
设置图例的位置和阴影效果。位置有以下参数可选:
upper right,upper left,lower left,lower right,right,center left,center right,lower center,upper center,center,best
代码语言:javascript复制plt.yscale("log")# 默认"linear"
y轴按对数坐标显示
代码语言:javascript复制plt.xscale("log")# 默认"linear"
x轴按对数坐标显示。
轴的scale有下图中几种参数可以选择: