python 繪制圖形之曲線圖


# -*- 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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM