欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python用matplotlib繪制二維坐標軸,設(shè)置箭頭指向,文本內(nèi)容方式

 更新時間:2023年08月16日 14:22:31   作者:小朱小朱絕不服輸  
這篇文章主要介紹了python用matplotlib繪制二維坐標軸,設(shè)置箭頭指向,文本內(nèi)容方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

使用matplotlib繪制二維坐標軸,設(shè)置箭頭指向,文本內(nèi)容

我們在使用matplotlib繪制圖像時,默認的坐標軸是在左下角,這樣對于一些曲線的顯示就不太清楚。

如下:

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-10, 10, 100)
y1 = 2 * x
y2 = x * x
plt.figure()
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.plot(x, y1, linestyle='--')
plt.plot(x, y2)
plt.show()

根據(jù)X和Y繪制兩條曲線,直接繪制的話,坐標軸就在左下角。

對于曲線的展示不清楚,比如我們想把(0,0)點作為坐標軸原點。

可以參考下面的方法。

1.更改坐標軸的位置

可以看到,默認繪圖是四個邊把圖像框起來了。spine() 這個單詞的意思是脊梁,就是包圍圖表的線條。

如下:

分為 top,bottom,left,right 上下左右四條邊。我們的方法就是隱藏右邊和上邊,然后移動左邊和下邊,移動到想要的位置。

1.首先要獲取整張圖像的坐標,方法是

ax = plt.gca()  # 獲取整張圖像的坐標的對象

2.隱藏起來兩條邊,右邊和上邊

# 將右邊,上邊的兩條邊顏色設(shè)置為空 其實就相當于抹掉這兩條邊
ax.spines[‘right'].set_color(‘none')
ax.spines[‘top'].set_color(‘none')

3.移動左邊和下邊,指定為為x軸和y軸

ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')

4.設(shè)置坐標軸交點

# 設(shè)置(0,0)為兩坐標軸的交點
ax.spines[‘bottom'].set_position((‘data', 0))
ax.spines[‘left'].set_position((‘data', 0))

移動坐標軸后,繪制圖像結(jié)果如下:

完整代碼:

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-10, 10, 100)
y1 = 2 * x
y2 = x * x
plt.figure()
plt.xlabel('X axis')
plt.ylabel('Y axis')  # 設(shè)置坐標軸的文字標簽
ax = plt.gca()  # get current axis 獲得坐標軸對象
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')  # 將右邊 上邊的兩條邊顏色設(shè)置為空 其實就相當于抹掉這兩條邊
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')  # 指定下邊的邊作為 x 軸   指定左邊的邊為 y 軸
ax.spines['bottom'].set_position(('data', 0))  # 指定 data  設(shè)置的bottom(也就是指定的x軸)綁定到y(tǒng)軸的0這個點上
ax.spines['left'].set_position(('data', 0))
plt.plot(x, y1, linestyle='--')
plt.plot(x, y2)
plt.show()

2. 設(shè)置箭頭內(nèi)容指向曲線

在繪制曲線時,我們想要用在圖像箭頭標注一下表達式,調(diào)用的函數(shù)如下:

annotate(s='str', xy=(x,y), xycoords='data', xytext=(l1,l2), textcoords, arrowprops)
# s為標注內(nèi)容
# xy為基準點
# xycoords='data' xy的坐標是基于data的
# xytext 為注釋文字的坐標位置
# textcoords='offset point'代表以這個點為基準
# arrowprops描述箭頭,線的弧度等信息,箭頭參數(shù),參數(shù)類型為字典dict
# 添加標注
x0 = 1
y0 = 2 * x0 + 1
plt.scatter(x0, y0, s=50, color='b') 
plt.plot([x0, x0], [y0, y0], 'k--', lw=2.5)
plt.annotate(r'$2x+1=%s$' % y0, xy=(x0, y0), xycoords='data', xytext=(+30, -30),
             textcoords='offset points', fontsize=16,
             arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=.2'))

繪制結(jié)果如下:

完整代碼:

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3, 3, 50)
y = 2*x+1
plt.figure(num=1, figsize=(8, 5))
plt.plot(x, y)
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))
# 添加標注
x0 = 1
y0 = 2 * x0 + 1
plt.scatter(x0, y0, s=50, color='b')
plt.plot([x0, x0], [y0, y0], 'k--', lw=2.5)
plt.annotate(r'$2x+1=%s$' % y0, xy=(x0, y0), xycoords='data', xytext=(+30, -30),
             textcoords='offset points', fontsize=16,
             arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=.2'))
plt.show()

3. 設(shè)置文本內(nèi)容

有時候想在圖像上設(shè)置一行文字的內(nèi)容,這時候調(diào)用的函數(shù)如下:

plt.text(x, y, s)
# x,y為文字位置
# s為文字內(nèi)容
plt.text(-3.7, 3, r'$This\ is\ the\ some\ text.\ \mu\ \sigma_i\ \alpha_t$',
         fontdict={'size': 16, 'color': 'r'})

繪制結(jié)果如下:

總結(jié)

以上即為python使用matplotlib繪制二維坐標軸,設(shè)置箭頭指向,文本內(nèi)容的知識。

僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Django使用paginator插件實現(xiàn)翻頁功能的實例

    Django使用paginator插件實現(xiàn)翻頁功能的實例

    今天小編就為大家分享一篇關(guān)于Django使用paginator插件實現(xiàn)翻頁功能的實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • python爬取代理ip的示例

    python爬取代理ip的示例

    這篇文章主要介紹了python爬取代理ip的示例,幫助大家更好的利用python進行爬蟲,感興趣的朋友可以了解下
    2020-12-12
  • 淺析python中SQLAlchemy排序的一個坑

    淺析python中SQLAlchemy排序的一個坑

    這篇文章主要介紹了關(guān)于python中SQLAlchemy排序的一個坑,文中給出了詳細的示例代碼,需要的朋友可以參考借鑒,感興趣的朋友們下面來一起學習學習吧。
    2017-02-02
  • Python中基本的日期時間處理的學習教程

    Python中基本的日期時間處理的學習教程

    這篇文章主要介紹了Python中基本的日期時間處理的學習教程,日期時間相關(guān)模塊的使用是Python入門學習中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-10-10
  • Python實現(xiàn)獲取當前日期的所屬信息

    Python實現(xiàn)獲取當前日期的所屬信息

    在Python中,處理日期和時間是一個常見的任務(wù),它涉及到許多方面,例如獲取日期的年、月、日、星期幾等等,本文將詳細介紹如何使用Python來獲取當前日期的各種相關(guān)信息,需要的可以了解下
    2024-01-01
  • pycharm創(chuàng)建scrapy項目教程及遇到的坑解析

    pycharm創(chuàng)建scrapy項目教程及遇到的坑解析

    這篇文章主要介紹了pycharm創(chuàng)建scrapy項目教程及遇到的坑解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python使用multiprocessing如何實現(xiàn)多進程

    Python使用multiprocessing如何實現(xiàn)多進程

    這篇文章主要介紹了Python使用multiprocessing如何實現(xiàn)多進程問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Pytorch中實現(xiàn)只導入部分模型參數(shù)的方式

    Pytorch中實現(xiàn)只導入部分模型參數(shù)的方式

    今天小編就為大家分享一篇Pytorch中實現(xiàn)只導入部分模型參數(shù)的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 詳解numpy矩陣的創(chuàng)建與數(shù)據(jù)類型

    詳解numpy矩陣的創(chuàng)建與數(shù)據(jù)類型

    這篇文章主要介紹了詳解numpy矩陣的創(chuàng)建與數(shù)據(jù)類型,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Python中l(wèi)ist初始化方法示例

    Python中l(wèi)ist初始化方法示例

    這篇文章主要介紹了Python中l(wèi)ist初始化方法,分析了list初始化常用的方法與相關(guān)使用注意事項,需要的朋友可以參考下
    2016-09-09

最新評論