これは、それを含む図が定義されていないためです。ここで
はあなたのコードの変更です:ベクトルの問題の大きさならば
from matplotlib.pyplot import figure, plot, show, xlabel, ylabel
spike_id = [i[0] for i in v]
spike_time = [i[1] for i in v]
fig = figure(figsize=[16,9])
# Plot number 1:
fig.add_subplot(211)
plot(spike_time, spike_id, ".")
xlabel("Time(ms)")
ylabel("NeuronID")
# plot number 2:
fig.add_subplot(212)
plot(time,volts , "-")
xlabel("Time (ms)")
ylabel("Volts (mv)")
show()
また尋ねました。
いいえ、Pythonで計算できる場合、MatPlotLib(これは主にC言語で実装されています)に表示されます。数百万のプロセスがあれば時間がかかるかもしれません。また、不必要な反復を避けるために、spike_id
とspike_time
をジェネレータまたはNumPy配列として計算することを検討してください。ここではどのように:
ジェネレータ:
spike_id = (i[0] for i in v)
spike_time = (i[1] for i in v)
numpyの:numpyのの
使用は、実質的にあなたのプログラムを最適化し、かなり速いことになるだろうベクトル化を可能にします。特に大量のデータを処理している場合は特にそうです。
また、いくつかのシグナリングデータ(EEGやEMGなど)を処理しているようですね。とにかく、NumPyは、そのようなデータを扱い、分析するための非常に便利なツールを提供します。
from matplotlib.pyplot import figure, plot, xlabel, ylabel
%matplotlib inline
をし、それはもはや必要ではないだろうとして、それによってあなたはshow()
をスキップすることができます
from numpy import array
v_array = array(v)
spike_id = v_array[:, 0]
spike_time = v_array[:, 1]
あなたはIPython/Jupyterノートブックを使用する場合は、そのようなあなたのノートPC内部の姿を埋め込むことができます。
これが役に立ちます。
これはどのような環境で実行していますか? Windows、Linux、OS X? IDEから?コマンドライン? IPython/Jupyterノートブック?何か間違いはありますか?あなたの 'rcParams'や' matplotlibrc'が正しくインストールされていますか?あなたは今までに物事を描くことができましたか?あなたの質問を編集し、できるだけ多くの関連情報を追加してください。 – MattDMo