2017-07-20 13 views
0

グラフの束をグラフ化しようとすると、非常に時間がかかります。たとえば、私は、この10000回のような愚かな例をプロットしてみた場合:それはプロットを表示するために分程度かかります複数のグラフを1つのプロットにプロットすると、Matplotlibの動作が遅くなる

n=10000 
numbers = [] 

for i in range(n): 
    numbers.append(i) 

for i in range(n): 
    plt.plot(numbers) 

plt.show() 

。私はこれをやって知っ はそれより早く

import matplotlib 
matplotlib.use('GTKAgg') 

ようになります。しかし速くグラフの束をプロットするようにする他の方法はありますか?どんな提案も大変ありがとうございます。

+1

複数の点を1つのグラフにプロットしようとしていますか、複数の図を作成したいですか?そして、あなたは見たことがありますか?https://stackoverflow.com/questions/8955869/why-is-plotting-with-matplotlib-so-slow – Flynn

答えて

0

あなたはplt.ionとダイナミックなプロットを(行うことができます) 例:

import matplotlib.pyplot as plt 
import numpy as np 

fig = plt.figure() 
su = fig.add_subplot(111) 
su.axis([-1, 1, -1, 1]) 
plt.ion() # allows for dynamic plot 

for i in range(1000): 
    y = np.random.random() 
    su.scatter(y**2, y) 
    plt.pause(0.4) 

while True: 
    plt.pause(0.05) 

これは、彼らがあなたのグラフ上に出てくるようあなたがポイントを確認することができます。 これはあなたが望むものですか?

EDIT: たぶん、あなたはあなたがお使いのコンピュータがPNGファイルを分離するために、あなたの数字のすべてを救うかもしれないmatplotlib.pyplotのsavefig機能 https://matplotlib.org/devdocs/api/_as_gen/matplotlib.pyplot.savefig.html
を使用して試みることができます。その後、いつでも写真を見ることができます。この方法では、最小限の時間を要し、プログラムをバックグラウンドで実行しながらpngを作成し、いつでも再生成することなく表示することができます。

+0

Nah私はそれらをすべて素早くプロットしたいと思っています。それも可能です。ありがとう –

関連する問題