Python-matplotlib学习笔记01-基本线图绘制

代码:
#coding:utf-8

import numpy as np
import matplotlib.pyplot as plt

def main():
x = np.linspace(-np.pi,np.pi,256,endpoint=True) #定义横轴(-pi,pi),256个点,包括最后一个点
s,c = np.sin(x),np.cos(x)
plt.figure(1)
plt.plot(x,s,color="blue",linewidth=1.0,linestyle="-",label="SIN",alpha=0.5) #alpha指透明度
plt.plot(x,c,"r*",label="COS") #r是read,*表示线型
plt.title("SIN & COS")
ax = plt.gca() #返回当前axes (坐标图)对象
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)) #底部线放到数据域0的位置
ax.xaxis.set_ticks_position("bottom") #坐标值放在横轴下边
ax.yaxis.set_ticks_position("left") #坐标值放在纵轴左边
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],
[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$']) #设置横轴坐标值
plt.yticks(np.linspace(-1,1,5,endpoint=True)) #设置纵轴坐标值,(-1,1),5个值
for label in ax.get_xticklabels()+ax.get_yticklabels():
label.set_fontsize(16) #设置坐标轴数字大小
label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))
plt.legend(loc="upper left") #设置图例,偏上偏左
plt.grid() #网格线
#plt.axis([-1,1,-0.5,1]) #指定显示范围,横轴(-1,1),纵轴(-0.5,1)
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="green",alpha=0.25) #填充功能,abs(x)<0.5为判断性语句
#添加注释
t = 1
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=0.2"))
plt.show()

if __name__ == "__main__":
main()

---------------------------------------------------------*****--------------------------------------------------------
annotate:给…作注

xytext=(+10,+30),textcoords="offset points" #注释相对于点的相对偏移量
arrowprops #设置箭头格式
connectionstyle="arc3,rad=0.2" #箭头弧度
 

 

 

 

 结果:

 

posted @ 2020-08-01 22:49  刘奇OK  阅读(235)  评论(0编辑  收藏  举报