LoginSignup
1
1

More than 1 year has passed since last update.

gnuplot でファイルを読み込めない

Last updated at Posted at 2022-11-15

解決策

  • cmd(コマンドプロンプト)でリダイレクト(ファイルを出力)する。
  • powerShellで./実行ファイル名 | Out-File -Encoding utf8 出力ファイル名

VSCode で gnuplot を使う上での注意点

エラーが出る

sample.gp
plot "sample.txt" u 1:2 t "a" w lp, "sample.txt" u 1:3 t "b" w lp

set  xlabel  "xlabel"
set  ylabel  "ylabel"
set  title  "title"
set xzeroaxis

replot
quit

gnuplot を用いてグラフを描写するとき、以下のコマンドを入力する。

gnuplot> load "sample.gp"

このとき以下のようなエラーが出ることがある。

"sample.gp" line 1: warning: Skipping data file with no valid points
"graph.gp" line 1: x range is invalid

エラーの原因

このエラーの原因は、sample.txtUTF-16 LEなどのUTF-8以外の文字コードで保存されていることが原因であった。

なぜUTF-16 LEで保存されたのか

VSCode を使用している場合、ターミナルとして無意識的に PowerShell を使っていることがある。PowerShell で以下のコマンドを実行してexeファイルを他のファイルに出力すると、なんとUTF-16 LEで保存されてしまう。

$> sample.exe > "sample.txt"

解決策

最も簡単な解決策として Commmand Prompt にターミナルを切り替えるがある。Commmand Prompt で上のコマンドを実行すると、しっかりUTF-8で保存される。また,powerShellで以下のようなコマンドを実行することでもUTF-8で保存される。

./実行ファイル名 | Out-File -Encoding utf8 出力ファイル名

おまけ

ターミナルを切り替える方法

  • ターミナルの右上の + マークの横の三角をクリックする
  • 任意のターミナルを選択する
    image.png

変更履歴

2022/11/22 powerShellから文字コードを指定する方法を追記

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1