第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在循環(huán)中繪制子圖

在循環(huán)中繪制子圖

楊__羊羊 2023-03-16 16:01:00
z = {'A': [0.3618426, 0.36146951], 'B': [1.8908799, 1.904695], 'C': [2.1813462e+08, 2.1833622e+08], 'D': [0.89925492, 0.89953589], 'E': [2.6356747, 2.6317911], 'F': [2.2250445e+08, 2.2501808e+08], 'G': [2.0806053e+08, 2.0691238e+08], 'H': [0.37242803, 0.37611806]}k = [1,2]for key in z:plt.subplot(4,4,1)plt.plot(k,[z[key][0],z[key][1]], 'ro-')plt.show()我會(huì)盡量說清楚。z 是一個(gè)大小不同的字典。我想做的是繪制字典數(shù)量,比如 4 列,但行應(yīng)該根據(jù)生成的圖的數(shù)量而增加,例如,如果有 16 個(gè)要繪制的鍵,我應(yīng)該以 4 行 4 列的數(shù)字結(jié)束。如何我可以這樣做嗎?
查看完整描述

3 回答

?
喵喵時(shí)光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊

繪制多個(gè)圖形的基本形式是下面的方法 作為先決條件,您只需要決定列數(shù)。cols=3 剩下的循環(huán)過程由詞典的數(shù)量來完成。


import matplotlib.pyplot as plt

import pandas as pd

import math


z = {'A': [0.3618426, 0.36146951], 'B': [1.8908799, 1.904695], 'C': [2.1813462e+08, 2.1833622e+08], 'D': [0.89925492, 0.89953589], 'E': [2.6356747, 2.6317911], 'F': [2.2250445e+08, 2.2501808e+08], 'G': [2.0806053e+08, 2.0691238e+08], 'H': [0.37242803, 0.37611806]}

k = [1,2]


cols = 3

rows = math.ceil(len(z) / cols)


fig, axes = plt.subplots(rows, cols, figsize=(16,12))


dict_keys = [k for k in z.keys()]


l = 0

for i in range(rows):

    for j in range(cols):

        if len(z) == l:

            break

        else:

            key = dict_keys[i+j]

            axes[i][j].plot(k, [z[key][0],z[key][1]], 'ro-')

        l += 1


plt.show()

http://img1.sycdn.imooc.com//6412ccdf0001fb6009870693.jpg

查看完整回答
反對 回復(fù) 2023-03-16
?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊

如果沒有重復(fù)的子圖,@r-beginners 的答案是完美的。我做了兩個(gè)小修改:


import matplotlib.pyplot as plt

import math


z = {'A': [0.3618426, 0.36146951], 'B': [1.8908799, 1.904695], 'C': [2.1813462e+08, 2.1833622e+08], 'D': [0.89925492, 0.89953589],

     'E': [2.6356747, 2.6317911], 'F': [2.2250445e+08, 2.2501808e+08], 'G': [2.0806053e+08, 2.0691238e+08], 'H': [0.37242803, 0.37611806]}

k = [1, 2]


cols = 3

rows = math.ceil(len(z) / cols)


fig, axes = plt.subplots(rows, cols, figsize=(16, 12))


dict_keys = [m for m in z.keys()]


l = 0

for i in range(rows):

    for j in range(cols):

        if len(z) == l:

            break

        else:

            key = dict_keys[l]      # modified

            axes[i][j].plot(k, [z[key][0], z[key][1]], 'ro-')

            l += 1          # modified


plt.show()


查看完整回答
反對 回復(fù) 2023-03-16
?
郎朗坤

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊

這是一個(gè)可能對您有幫助的代碼:


from math import ceil


# 9 elements in my dict (4x4 + 1)

z = {'A': [0.3618426, 0.36146951], 'B': [1.8908799, 1.904695], 'C': [2.1813462e+08, 2.1833622e+08], 'D': [0.89925492, 0.89953589], 'E': [2.6356747, 2.6317911], 'F': [2.2250445e+08, 2.2501808e+08], 'G': [2.0806053e+08, 2.0691238e+08], 'H': [0.37242803, 0.37611806], 'X': [0.37242803, 0.37611806]}

k = [1,2]


plt.subplots(figsize=(16,8)) # optional


# fixed number of columns

cols = 4

# number of rows, based on cols

rows = ceil(len(z) / cols)


# iterate through indices and keys

for index, key in enumerate(z):

    # new subplot with (i + 1)-th index laying on a grid

    plt.subplot(rows, cols, index + 1) 

    # drawing the plot

    plt.plot(k, [z[key][0], z[key][1]], 'ro-')


# render everything

plt.show()

http://img1.sycdn.imooc.com//6412ccfb0001f2b010290690.jpg

查看完整回答
反對 回復(fù) 2023-03-16
  • 3 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號