# -*- coding: utf-8 -*- """ Created on Thu Sep 28 14:05:35 2017 @author: HBB """ import numpy as np import matplotlib.pyplot as plt x=np.linspace(-np.pi,np.pi,256,endpoint=True) c,s=np.cos(x),np.sin(x) plt.figure(1) # plt.plot(x,c) plt.plot(x,c,color="blue",linewidth=3.0,linestyle="-",label="COS",alpha=0.9) # 顏色 線寬 類型 標簽 透明度 plt.plot(x,s,"r*",label="SIN") # r*:red * 顏色為紅色,線型為* plt.title("COS and SIN") # 標題 #坐標軸的操作 # 坐標軸的位置 ax=plt.gca() # 引入坐標軸 ax.spines["right"].set_color("none") ax.spines["top"].set_color("none") ax.spines["left"].set_position(("data",0)) ax.spines["bottom"].set_position(("data",0)) # 坐標軸的刻度顯示位置 ax.xaxis.set_ticks_position("bottom") ax.yaxis.set_ticks_position("left") # 設置坐標的顯示范圍 plt.yticks(np.linspace(-1,1,5,endpoint=True)) # 設置坐標的顯示范圍 # 設置刻度數字大小和邊框 for lable in ax.get_xticklabels()+ax.get_yticklabels(): lable.set_fontsize(16) # 刻度大小 lable.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2)) # 刻度下面的小邊框 # 圖例 plt.legend(loc="upper left") # 網格線 plt.grid() # 顯示范圍 #plt.axis([-1,1,-0.5,1]) # 前面兩個是x軸的范圍,后面是y軸的兩個范圍。 # 以上為基本功能,下面為有意思的功能 # 填充 # plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="green",alpha=0.5) #搞不通這個范圍??? # 划線 t=1 plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3.0,linestyle="--") # [t,t],[0,np.cos(t)] 應該是相當於[x1,x2],[y1,y2] 所以點應該是(x1,y1)和(x2,y2) # 注釋增加 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()