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

Python利用matplotlib做圖中圖及次坐標(biāo)軸的實(shí)例

 更新時(shí)間:2019年07月08日 09:35:48   作者:changzoe  
今天小編就為大家分享一篇Python利用matplotlib做圖中圖及次坐標(biāo)軸的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

圖中圖

準(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è)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論