Python利用matplotlib做圖中圖及次坐標(biāo)軸的實(shí)例
圖中圖
準(zhǔn)備數(shù)據(jù)
import matplotlib.pyplot as plt fig = plt.figure() x = [1, 2, 3, 4, 5, 6, 7] y = [1, 3, 4, 2, 5, 8, 6]
- 大圖
首先確定大圖左下角的位置以及寬高:
注意,4個(gè)值都是占整個(gè)figure坐標(biāo)系的百分比。在這里,假設(shè)figure的大小是10x10,那么大圖就被包含在由(1, 1)開(kāi)始,寬8,高8的坐標(biāo)系內(nèi)。
# below are all percentage left, bottom, width, height = 0.1, 0.1, 0.8, 0.8 ax1 = fig.add_axes([left, bottom, width, height]) # main axes ax1.plot(x, y, 'r') ax1.set_xlabel('x') ax1.set_ylabel('y') ax1.set_title('title')
將大圖坐標(biāo)系添加到figure中,顏色為r(red),取名為title:
- 小圖
接著,我們來(lái)繪制左上角的小圖,步驟和繪制大圖一樣,注意坐標(biāo)系位置和大小的改變
ax2 = fig.add_axes([0.2, 0.6, 0.25, 0.25]) # inside axes ax2.plot(y, x, 'b') ax2.set_xlabel('x') ax2.set_ylabel('y') ax2.set_title('title inside 1')
最后,我們來(lái)繪制一個(gè)右下角的小圖。這里我們采用一種更簡(jiǎn)單方法,即直接往plt里添加新的坐標(biāo)系
# different method to add axes #################################### plt.axes([0.6, 0.2, 0.25, 0.25]) plt.plot(y[::-1], x, 'g') plt.xlabel('x') plt.ylabel('y') plt.title('title inside 2')
注意對(duì)y進(jìn)行了逆序處理
次坐標(biāo)軸
有時(shí)候我們會(huì)用到次坐標(biāo)軸,即在同個(gè)圖上有第2個(gè)y軸存在。同樣可以用matplotlib做到
第一個(gè)Y 坐標(biāo)
import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 0.1) y1 = 0.05 * x**2 y2 = -1 *y1 fig, ax1 = plt.subplots()
第二個(gè)坐標(biāo)軸
對(duì)ax1調(diào)用twinx()方法,生成如同鏡面效果后的ax2
接著進(jìn)行繪圖, 將 y1, y2 分別畫在 ax1, ax2 上:
ax2 = ax1.twinx() # mirror the ax1 ax1.plot(x, y1, 'g-') ax2.plot(x, y2, 'b-') ax1.set_xlabel('X data') ax1.set_ylabel('Y1 data', color='g') ax2.set_ylabel('Y2 data', color='b') plt.show()
同理:改變y2生成圖像
以上這篇Python利用matplotlib做圖中圖及次坐標(biāo)軸的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python matplotlib以日期為x軸作圖代碼實(shí)例
- python使用Matplotlib改變坐標(biāo)軸的默認(rèn)位置
- Python 用matplotlib畫以時(shí)間日期為x軸的圖像
- 詳解Python Matplotlib解決繪圖X軸值不按數(shù)組排序問(wèn)題
- python 設(shè)置xlabel,ylabel 坐標(biāo)軸字體大小,字體類型
- Python繪圖Matplotlib之坐標(biāo)軸及刻度總結(jié)
- Python設(shè)置matplotlib.plot的坐標(biāo)軸刻度間隔以及刻度范圍
- 修改python plot折線圖的坐標(biāo)軸刻度方法
- 基于python修改srt字幕的時(shí)間軸
相關(guān)文章
Python PyQt5實(shí)現(xiàn)的簡(jiǎn)易計(jì)算器功能示例
這篇文章主要介紹了Python PyQt5實(shí)現(xiàn)的簡(jiǎn)易計(jì)算器功能,涉及Python PyQt5事件響應(yīng)及數(shù)學(xué)運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2017-08-08Blender Python編程創(chuàng)建發(fā)光材質(zhì)示例詳解
這篇文章主要為大家介紹了Blender Python編程創(chuàng)建發(fā)光材質(zhì)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Python Http請(qǐng)求json解析庫(kù)用法解析
這篇文章主要介紹了Python Http請(qǐng)求json解析庫(kù)用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11Pytorch深度學(xué)習(xí)經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)resnet模塊訓(xùn)練
這篇文章主要介紹了Pytorch深度學(xué)習(xí)經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)resnet模塊訓(xùn)練,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05python爬取本站電子書(shū)信息并入庫(kù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了python爬取本站電子書(shū)信息并入庫(kù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2020-01-01Python3爬蟲(chóng)之自動(dòng)查詢天氣并實(shí)現(xiàn)語(yǔ)音播報(bào)
這篇文章主要介紹了Python3爬蟲(chóng)之自動(dòng)查詢天氣并實(shí)現(xiàn)語(yǔ)音播報(bào),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02Python如何使用pymongo連接MongoDB數(shù)據(jù)庫(kù)并進(jìn)行相關(guān)操作
PyMongo是驅(qū)動(dòng)程序,使python程序能夠使用Mongodb數(shù)據(jù)庫(kù),使用python編寫而成,下面這篇文章主要給大家介紹了關(guān)于Python如何使用pymongo連接MongoDB數(shù)據(jù)庫(kù)并進(jìn)行相關(guān)操作的相關(guān)資料,需要的朋友可以參考下2023-05-05對(duì)python opencv 添加文字 cv2.putText 的各參數(shù)介紹
今天小編就為大家分享一篇對(duì)python opencv 添加文字 cv2.putText 的各參數(shù)介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12