最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)對數(shù)坐標系繪制與自定義映射

 更新時間:2023年08月02日 08:38:58   作者:微小冷  
這篇文章主要為大家學習介紹了如何利用Python實現(xiàn)對數(shù)坐標系繪制與坐標自定義映射,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下

對數(shù)坐標系

在實際繪圖時,如果x,y這兩軸的數(shù)據(jù)變化速率相差過多,線性的坐標映射將無法展示圖形變化的細節(jié),就需要更改坐標系的數(shù)字映射邏輯,以獲得更具細節(jié)的圖像。

在matplotlib繪圖時,通過set_xscale和set_yscale這兩個函數(shù),可以輕松對坐標系進行坐標放縮,并且提供了4個基礎(chǔ)的放縮模板,分別是’linear’, ‘log’, ‘symlog’, ‘logit’。

import numpy as np
import matplotlib.pyplot as plt
xs = np.linspace(-5,5,1000)
labels = ['linear', 'log', 'symlog', 'logit']
fig = plt.figure()
for i,L in enumerate(labels, 1):
    ax = fig.add_subplot(2,2,i)
    ax.plot(xs, np.tan(xs))
    ax.plot(xs, np.exp(xs))
    ax.set_yscale(L)
    ax.set_title(L)
    ax.grid()
plt.tight_layout()
plt.show()

從其y軸坐標可以看出,linear就是最常見的線性映射;log是對數(shù)坐標;symlog是“雙”對數(shù)坐標;logit則是中間大、兩端小的對數(shù)映射。

所以,在log圖中,由于對數(shù)映射是非對稱的,其y軸坐標從小到大依次是0.01,0.1,1,10,100,所以 盡管tanx本應(yīng)上下對稱,但下方卻直接超出了坐標軸給定的范圍。

自定義映射

set_xscale和set_yscale這兩個函數(shù),除了支持matplotlib實現(xiàn)好的字符串標識之外,還支持自定義函數(shù)映射。例如,想把y軸映射為根號y ?,則需要定義兩個函數(shù),分別用于坐標系映射和圖像映射,具體代碼如下

forward = lambda x : x**(1/2)
inverse = lambda x : x**2
fig, ax = plt.subplots()
xs = np.linspace(0,4,100)
ax.plot(xs, np.exp(xs))
ax.set_yscale('function', functions=(forward, inverse))
ax.set_title('function: $x^{1/2}$')
ax.grid()
plt.tight_layout()
plt.show()

繪圖結(jié)果如下

可以看到,y軸方向等間隔的刻度,其映射的長度是依次減半的。10到20在y向的長度,差不多是0到10的二分之一。

對數(shù)坐標圖

雖然上面的例程均通過plot圖來演示,但set_xscale和set_yscale其實適用于各種圖像。而針對折線圖的對數(shù)坐標圖,matplotlib已經(jīng)實現(xiàn)了更加成熟的封裝,即semilogx, semilogy和loglog。

fig, (ax1, ax2, ax3) = plt.subplots(1,3, figsize=(8,3))
ax1.semilogx(t, np.sin(2 * np.pi * t))
ax1.set(title='semilogx')
ax1.grid()
ax2.semilogy(t, np.exp(-t / 5.0))
ax2.set(title='semilogy')
ax2.grid()
ax3.loglog(t, 20 * np.exp(-t / 10.0))
ax3.set(title='loglog')
ax3.grid()
plt.tight_layout()
plt.show()

結(jié)果為

其中,semilogx和semilogy顧名思義,分別是對x軸和y軸進行坐標映射,而log則對兩個軸都進行了坐標映射。

到此這篇關(guān)于Python實現(xiàn)對數(shù)坐標系繪制與自定義映射的文章就介紹到這了,更多相關(guān)Python對數(shù)坐標系內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Blueprint實現(xiàn)路由分組及Flask中session的使用詳解

    Blueprint實現(xiàn)路由分組及Flask中session的使用詳解

    這篇文章主要為大家介紹了Blueprint實現(xiàn)路由分組及Flask中session的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • Python實現(xiàn)批量識別銀行卡號碼以及自動寫入Excel表格步驟詳解

    Python實現(xiàn)批量識別銀行卡號碼以及自動寫入Excel表格步驟詳解

    這篇文章主要介紹了使用Python實現(xiàn)高效摸魚,批量識別銀行卡號碼并且自動寫入Excel表格,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2023-01-01
  • Python2.x與Python3.x的區(qū)別

    Python2.x與Python3.x的區(qū)別

    這篇文章主要介紹了Python2.x與Python3.x的區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • pandas is in和not in的使用說明

    pandas is in和not in的使用說明

    這篇文章主要介紹了pandas is in和not in的使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python利用PyQt6開發(fā)一個全能的任務(wù)管理器

    Python利用PyQt6開發(fā)一個全能的任務(wù)管理器

    在數(shù)字化辦公時代,我們每天都要重復(fù)執(zhí)行大量機械性操作,這些操作不僅浪費時間,還容易因人為疏忽出錯,所以本文就來使用PyQt6開發(fā)一個升級的自動化任務(wù)管理器吧
    2025-04-04
  • Python中函數(shù)參數(shù)調(diào)用方式分析

    Python中函數(shù)參數(shù)調(diào)用方式分析

    這篇文章主要介紹了Python中函數(shù)參數(shù)調(diào)用方式,結(jié)合實例形式分析了Python函數(shù)參數(shù)定義與使用的四種常見操作方法,需要的朋友可以參考下
    2018-08-08
  • 使用Python操作Redis的完整指南

    使用Python操作Redis的完整指南

    Redis作為業(yè)界主流的內(nèi)存數(shù)據(jù)庫,配合Python的redis-py庫,能在不改變業(yè)務(wù)代碼結(jié)構(gòu)的前提下,把數(shù)據(jù)庫的查詢壓力降低90%以上,今天我們就從零開始,聊聊怎么用Python操作Redis,搭一套真正能打的緩存系統(tǒng),需要的朋友可以參考下
    2026-03-03
  • Scrapy基于selenium結(jié)合爬取淘寶的實例講解

    Scrapy基于selenium結(jié)合爬取淘寶的實例講解

    今天小編就為大家分享一篇Scrapy基于selenium結(jié)合爬取淘寶的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python如何根據(jù)頁碼處理PDF文件的內(nèi)容

    Python如何根據(jù)頁碼處理PDF文件的內(nèi)容

    在Python中,fitz庫可以用于多種任務(wù),如打開PDF文件、遍歷頁面、添加注釋、提取文本、旋轉(zhuǎn)頁面等,此外,它還可以用于在PDF頁面上添加高亮注釋、提取圖像等操作,這篇文章主要介紹了Python根據(jù)頁碼處理PDF文件的內(nèi)容,需要的朋友可以參考下
    2024-06-06
  • 基于python進行桶排序與基數(shù)排序的總結(jié)

    基于python進行桶排序與基數(shù)排序的總結(jié)

    今天小編就為大家分享一篇基于python進行桶排序與基數(shù)排序的總結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05

最新評論

深圳市| 灵台县| 尚志市| 肃北| 习水县| 溆浦县| 淮南市| 本溪| 科技| 新乡市| 永顺县| 沧州市| 阿图什市| 河曲县| 纳雍县| 共和县| 柞水县| 天全县| 台湾省| 克拉玛依市| 望都县| 广灵县| 永清县| 乐平市| 兴化市| 潞西市| 盐亭县| 龙门县| 高陵县| 城口县| 磐安县| 木里| 林西县| 长汀县| 沂南县| 祁东县| 五莲县| 惠安县| 柯坪县| 个旧市| 文成县|