Matplotlib循环更新条形图

时间:2018-10-18 13:26:50

标签: python matplotlib

我刚刚开始学习matplotlib,我不明白为什么我的代码无法正常工作。

基本上,它获取站点列表,将加载时间添加到数组中,然后在图形中绘制加载时间。

我第一次执行它能起作用的代码时,它会像预期的那样绘制图形。但是之后,它不会更新。

为什么它不实时更新图形?我想念什么吗?

import time
import math
from useful import Useful as useful
for i in range (13):
    names = []
    load = []
    sites = [
    "google.com",
    "amazon.com"
    ]
    print("Fetching data...")
    run = 1 ## amount of times to run data..
    for site in sites:
        avg_load = 0
        for i in range(run):
            print(site)
            use = useful()
            use.exec_time("start")
            use.http_get(site)
            avg_load = avg_load+use.exec_time("end")["seconds"]
        avg_load = avg_load/run
        names.append(site)
        load.append(float(avg_load))
        print(avg_load)
        time.sleep(0.05)

    import numpy as np
    import matplotlib.pyplot as plt
    # Make a dataset
    bars = np.array(names)
    height = np.array(load)
    y_pos = np.arange(len(bars))

    # Create bars
    #w/o colors plt.bar(y_pos, height)
    plt.bar(y_pos, height, color=(0.2, 0.4, 0.6, 0.6))
    plt.ylabel("Loading times in seconds")

    # Create names on the x-axis
    plt.xticks(y_pos, bars)

    # Show graphic
    plt.show()
    plt.pause(1)

如果有人能告诉我如何将第二个条变为绿色,我将永远感激不尽:)

0 个答案:

没有答案