matplotlibでグラフ表示しようしたらフリーズした問題
pythonでcsvをプロットしようとしたところ下記のような感じで激重&フリーズという事態に…。
Y軸の様子が黒くなっていて明らかにおかしいことがわかります。
異常なプロット
読みだしているのは高々5万点程度のデータで、同等サイズのリストをした場合は正常に出力されました。そのため、csv読み出し周辺が原因と推測できます。
今回、csvファイル中に文字列が混ざっているため読み出しにpython標準のopen
、readline
を用いていました。
これで読み出したデータをそのままリストにしてプロットしていたことが問題で、readline
で読み出したデータは基本的に文字列として識別される仕様なのでプロット時の挙動がおかしくなってしまったようです。
結局のところ、プロットしたいデータをfloat型に明示的にキャストすることで正常な動作が得られます。
正常なプロット
ちなみに読み出したかったデータ
ECG(心電図)
まとめ
使用環境
・win10
・python3.6.3
・anaconda
現象
csvファイルを開いて読み出したデータをグラフにプロットしようとしたところ重い&フリーズ
解決方法
csv読み出しデータを明示的に数値型にキャストする