matplotlib給某一個點添加註釋

先給出例子的運行結果吧

 

就是將某一個點,加上一段註釋,用到了plt.annotate這個函數,這個函數參數太多,所以這裏記錄下來

 

import numpy as np
import matplotlib.pyplot as plt
import math
import pandas as pd

if __name__ == '__main__':
    x = np.linspace(-10, 20, 60)
    y = 2 * x + 1
    l1 = plt.plot(x, y, 'b--', linewidth=1, label="line1")
    # plt.xlim(1,10)
    plt.xlabel("x")
    plt.ylabel("y = 2*x+1 ")

    ax = plt.gca()  # gca = get current axis
    ax.spines['right'].set_color('None')  # 將right和top的線條去掉(圖上方和右邊的邊框)
    ax.spines['top'].set_color('None')
    ax.xaxis.set_ticks_position("bottom")  # 設置x軸
    ax.yaxis.set_ticks_position("left")  # 設置y軸
    ax.spines['bottom'].set_position(('data', 0))  # 設置x軸位置
    ax.spines['left'].set_position(('data', 0))

    # plt.legend(handles=[l1,],labels=['line1',],loc='best')
    plt.legend()

    x0 = 10
    y0 = 2 * x0 + 1
    plt.scatter(x0,y0,s=60,color='g')        #描一個點
    plt.plot([x0,x0],[y0,0],'k--',linewidth=2)  #通過兩個點畫一條線段, k表示黑色,--表示虛線


    plt.annotate(r"$this\ is\ a\ good\ point\ \alpha\ \sigma_i$",xy=(x0,y0),xycoords='data',xytext=(+30,-30),
                 textcoords='offset points',arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))
    #給某個點添加註釋

    plt.show()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章