【问题标题】:How can i have my code print more than one graph at a time?我怎样才能让我的代码一次打印多个图表?
【发布时间】:2020-10-16 16:27:46
【问题描述】:

我对python很陌生,所以请多多包涵。

我的代码如下:

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


df = pd.read_csv(r"/Users/aaronhuang/Desktop/ffp/exfileCLEAN2.csv", skiprows=[1])
magnitudes = df['Magnitude '].values
times = df['Time '].values
zscores = np.abs(stats.zscore(magnitudes, ddof=1))
outlier_indicies = np.argwhere(zscores > 3).flatten()
print(times[outlier_indicies])


window = 10
num = 1
x = times[outlier_indicies[num]-window:outlier_indicies[num]+window+1]
y = magnitudes[outlier_indicies[num]-window:outlier_indicies[num]+window+1]


plt.plot(x, y)
plt.xlabel('Time (units)')
plt.ylabel('Magnitude (units)')
plt.show()
fig = plt.figure()


fig.savefig("/Users/aaronhuang/Downloads")

有没有办法可以一次单独打印所有图表?删除 num 无效。

提前谢谢你。

【问题讨论】:

    标签: python csv matplotlib graph


    【解决方案1】:

    您可以将绘图放在 for 循环中,并根据需要重复多次,如果需要,每一步使用不同的变量。大多数软件将在多个绘图窗口中显示绘图,或者以可以滚动浏览的长条输出它们。但是,如果您使用 Spyder,它们将连续播放,每个情节都是一个帧。

    另外,如果你想打印多个图,你也必须将plt.show() 放在循环中,将它放在循环之后会在一个图上显示所有值。

    例如:

    import matplotlib.pyplot as plt
    
    x_values = [1,2,3,4,5,6,7]
    
    for x in x_values:
        y = x**2
        plt.plot(x,y,"o")
        plt.axis([0,50, 0,50])
        plt.show()
    
    

    【讨论】:

    • 谢谢你的回答,你能写出一些代码吗?我很新,不知道从哪里开始。
    • 这是一个例子!
    猜你喜欢
    • 2022-01-21
    • 1970-01-01
    • 2012-10-04
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    • 2020-07-29
    • 1970-01-01
    相关资源
    最近更新 更多