Python+matplotlib實現循環作圖的方法詳解

大傢好,我是皮皮。

一、前言

前幾天在Python白銀交流群【在 途中要勤奮的熏肉肉】問瞭一道Python可視化處理的問題,如下圖所示。

原始代碼,如下所示:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as st

result_parameter_peak = pd.read_csv("result_parameter_peak.csv", encoding="utf_8_sig")

# 設置畫佈
fig = plt.figure(figsize=(20, 8))  # figsize是常用的參數.(寬,高)
axl = fig.add_subplot(1, 1, 1)

for i in range(len(result_parameter_peak)):
    x = np.arange(0, 400, 1)
    # 繪制gamma曲線
    y661 = st.gamma.pdf(x, result_parameter_peak.iloc[i, 1], scale=result_parameter_peak.iloc[i, 2])
    axl.plot(x, y661, 'r-.', label="α= 9.9028,β=10.4205")
    # 設置坐標軸標題
    axl.set_xlabel('Time')
    axl.set_ylabel('Probility')
    axl.set_title('分佈')
    # 可視化
    plt.show()

得到的隻是單個的圖。

二、實現過程

這裡【月神】給瞭一個思路和一份示例代碼,如下所示:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as st

result_parameter_peak = pd.read_csv("result_parameter_peak.csv", encoding="utf_8_sig")

plt.figure()
for i, alpha, beta in result_parameter_peak.itertuples():
    x = np.arange(0, 300, 1)
    # 繪制gamma曲線
    y661 = st.gamma.pdf(x, alpha, scale=beta)
    plt.plot(x, y661, '-.')
    # 設置坐標軸標題
    plt.xlabel('Time')
    plt.ylabel('Probility')
    plt.title('分佈')

# 可視化
plt.show()

運行之後,結果如下圖所示:

順利地解決瞭粉絲的問題!

後來【小趴菜】又給圖加瞭圖註,看上去高大上一些,代碼如下所示:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as st

result_parameter_peak = pd.read_csv("result_parameter_peak.csv", encoding="utf_8_sig")

plt.figure()
for i, alpha, beta in result_parameter_peak.itertuples():
    x = np.arange(0, 300, 1)
    # 繪制gamma曲線
    y661 = st.gamma.pdf(x, alpha, scale=beta)
    # plt.plot(x, y661, '-.')
    plt.plot(x, y661, '-.', label="α:" + str(alpha) + "β:" + str(beta))
    # 設置坐標軸標題
    plt.xlabel('Time')
    plt.ylabel('Probility')
    plt.title('fenbu')
    
# 可視化
plt.legend()
plt.show()

得到的效果圖如下所示:

三、總結

大傢好,我是皮皮。這篇文章主要盤點瞭一道matplotlib作圖的問題,文中針對該問題給出瞭具體的解析和代碼實現,幫助粉絲順利解決瞭問題。

到此這篇關於Python+matplotlib實現循環作圖的方法詳解的文章就介紹到這瞭,更多相關Python matplotlib循環作圖內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: