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

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

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

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

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

如下:

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繪制兩條曲線,直接繪制的話,坐標(biāo)軸就在左下角。

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

可以參考下面的方法。

1.更改坐標(biāo)軸的位置

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

如下:

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

1.首先要獲取整張圖像的坐標(biāo),方法是

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

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

# 將右邊,上邊的兩條邊顏色設(shè)置為空 其實(shí)就相當(dāng)于抹掉這兩條邊
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è)置坐標(biāo)軸交點(diǎn)

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

移動坐標(biāo)軸后,繪制圖像結(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è)置坐標(biāo)軸的文字標(biāo)簽
ax = plt.gca()  # get current axis 獲得坐標(biāo)軸對象
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')  # 將右邊 上邊的兩條邊顏色設(shè)置為空 其實(shí)就相當(dāng)于抹掉這兩條邊
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這個點(diǎn)上
ax.spines['left'].set_position(('data', 0))
plt.plot(x, y1, linestyle='--')
plt.plot(x, y2)
plt.show()

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

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

annotate(s='str', xy=(x,y), xycoords='data', xytext=(l1,l2), textcoords, arrowprops)
# s為標(biāo)注內(nèi)容
# xy為基準(zhǔn)點(diǎn)
# xycoords='data' xy的坐標(biāo)是基于data的
# xytext 為注釋文字的坐標(biāo)位置
# textcoords='offset point'代表以這個點(diǎn)為基準(zhǔn)
# arrowprops描述箭頭,線的弧度等信息,箭頭參數(shù),參數(shù)類型為字典dict
# 添加標(biāo)注
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))
# 添加標(biāo)注
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繪制二維坐標(biāo)軸,設(shè)置箭頭指向,文本內(nèi)容的知識。

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

相關(guān)文章

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

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

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

    python爬取代理ip的示例

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

    淺析python中SQLAlchemy排序的一個坑

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

    Python中基本的日期時間處理的學(xué)習(xí)教程

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

    Python實(shí)現(xiàn)獲取當(dāng)前日期的所屬信息

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

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

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

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

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

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

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

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

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

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

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

最新評論