中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
matplotlib實(shí)現(xiàn)一頁(yè)多圖
在matplotlib中,實(shí)現(xiàn)一頁(yè)多圖有以下兩種方式

1. 直接指定

2. 動(dòng)態(tài)增加

直接指定是在創(chuàng)建figure的時(shí)候,就直接定義好多個(gè)axes的排列方式;動(dòng)態(tài)增加則是根據(jù)需要在figure上添加axes。下面來(lái)具體看下用法

1. 直接指定

直接指定可以通過(guò)pyplot子模塊的subplots函數(shù)來(lái)實(shí)現(xiàn),基本用法如下

>>> fig, axes = plt.subplots()
>>> axes
<matplotlib.axes._subplots.AxesSubplot object at 0x0A149E68>

>
>> fig, axes = plt.subplots(2,2)
>>> axes
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x0106DBE0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x01087580>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x01099808>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x010BB1F0>]],
      dtype=object)

>
>> axes[0, 0]
<matplotlib.axes._subplots.AxesSubplot object at 0x0106DBE0>
>>> axes[0, 1]
<matplotlib.axes._subplots.AxesSubplot object at 0x01087580>
>>> axes[1, 0]
<matplotlib.axes._subplots.AxesSubplot object at 0x01099808>
>>> axes[1, 1]
<matplotlib.axes._subplots.AxesSubplot object at 0x010BB1F0>
不添加任何參數(shù)的情況下,生成包含了1個(gè)axes的figure對(duì)象,也可以通過(guò)指定nrows和ncols參數(shù)來(lái)生成多個(gè)axes的figure,然后通過(guò)數(shù)組下標(biāo)來(lái)訪問(wèn)對(duì)應(yīng)的axes對(duì)象。實(shí)際使用中,可以通過(guò)解列表的形式提高編碼效率,代碼如下
>>> fig, (ax1, ax2) = plt.subplots(1, 2)
>>> fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)

這種方式生成的每個(gè)axes都是大小相同的,代碼如下

>>> fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)
>>> ax1.plot([1,2,3,4])
>>> ax2.bar(x = [1, 2, 3, 4], height = [4, 2, 3, 1])
>>> ax3.hist(x = np.random.normal(size=1000), bins=50)
>>> ax4.scatter(x= np.random.randn(10), y=np.random.randn(10),s=40 * np.arange(10),c=np.random.randn(10))
>>> plt.show()

輸出結(jié)果如下

2.  動(dòng)態(tài)指定

動(dòng)態(tài)指定是在生成新的axes對(duì)象的同時(shí),指定其排列的位置,通過(guò)pyplot子模塊的subplot函數(shù)來(lái)實(shí)現(xiàn),用法如下

>>> ax1 = plt.subplot(221)
>>> ax2 = plt.subplot(222)
>>> ax3 = plt.subplot(223)
>>> ax4 = plt.subplot(224)
>>>
>>> ax1.plot([1,2,3,4])
>>> ax2.bar(x = [1, 2, 3, 4], height = [4, 2, 3, 1])
>>> ax3.hist(x = np.random.normal(size=1000), bins=50)
>>> ax4.scatter(x= np.random.randn(10), y=np.random.randn(10),s=40 * np.arange(10),c=np.random.randn(10))
>>> plt.show()

上述代碼的輸出結(jié)果和直接指定方式的輸出是完全一樣的,subplot方法中,前兩個(gè)數(shù)字分別表示布局的行數(shù)和列數(shù),第三個(gè)數(shù)值表示的是索引。

另外,還有一種更加靈活的布局方式,支持不同axes占據(jù)不同區(qū)域,通過(guò)pyplot子模塊的subplot2grid函數(shù)來(lái)實(shí)現(xiàn),用法如下

>>> ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=2)
>>> ax2 = plt.subplot2grid((3, 3), (1, 0), colspan=2, rowspan=2)
>>> ax3 = plt.subplot2grid((3, 3), (1, 2), rowspan=2)
>>>
>>> ax1.bar(x = [1, 2, 3, 4], height = [4, 2, 3, 1])
>>> ax2.scatter(x= np.random.randn(10), y=np.random.randn(10),s=40 * np.arange(10),c=np.random.randn(10))
>>> ax3.hist(x = np.random.normal(size=1000), bins=50)
>>>
>>> plt.show()

輸出結(jié)果如下

第一個(gè)元組表示布局的行數(shù)和列數(shù),第二個(gè)元組表示axes的數(shù)組下標(biāo),colspan和rowspan分別指定該axes占據(jù)的行數(shù)和列數(shù)。為不同的axes指定不同的colspan和rowspan參數(shù),從而實(shí)現(xiàn)不同axes不同大小的目的。

本質(zhì)上來(lái)講,一頁(yè)多圖的方式都是首先將一個(gè)figure按照固定的行列劃分為相等大小的區(qū)域,只不過(guò)一個(gè)是直接利用劃分好的相等區(qū)域來(lái)畫(huà)圖,一個(gè)則另外指定了axes覆蓋的相等區(qū)域的個(gè)數(shù),,然后再進(jìn)行畫(huà)圖而已。

figuse size的大小直接影響axes區(qū)域的大小,除此之外,設(shè)置繪圖區(qū)域在figure上的范圍,以及劃分的相等區(qū)域的水平和垂直間隔,也會(huì)影響最終的畫(huà)圖區(qū)域的大小,可以通過(guò)subplots_adjust函數(shù)進(jìn)行設(shè)置,用法如下

>>> fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)
>>> plt.subplots_adjust(left=0.25, right=0.9, bottom=0.1, top=0.9, wspace=0.2, hspace=0.2)

將figure視為左下角為(0,0), 右上角為(1, 1)的坐標(biāo)系,通過(guò)left等參數(shù)分別指定上下左右的坐標(biāo),從而設(shè)置繪圖區(qū)域的大小。wspace和hspace參數(shù)分別指定分割線的寬度和高度,其數(shù)值為每個(gè)axes width和height的比例。

通過(guò)pyplot的subplots系列函數(shù),可以輕松實(shí)現(xiàn)一頁(yè)多圖,當(dāng)然,在matplotlib中,還有其他方法來(lái)實(shí)現(xiàn)一頁(yè)多圖,具體的可以查看官方的幫助文檔。

·end·

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Python--Matplotlib(超級(jí)詳細(xì)帶大量實(shí)例)
Python pandas更是可視化工具!
直播案例 | Python 降維實(shí)踐及在特征臉、圖像重構(gòu)和文本數(shù)據(jù)中的應(yīng)用
超全的多子圖(subplots)繪制技巧分享~~
Matplotlib數(shù)據(jù)可視化:文本與坐標(biāo)軸
Python繪圖
更多類(lèi)似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服