5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

nimでgnuplot使ってみたお話

Last updated at Posted at 2019-10-07

#はじめに
こんにちは、YagiELです。Qiita初投稿です。
もともとpythonをやっていたんですが、最近nimという至高の言語に出会ってしまい勉強中です。
なんか、nimnimしてきたな...
nimとの出会いとなった記事、貼っときますね。
https://qiita.com/rigani/items/6e87c7cee6903ed65ed2

さて、今回はそのnimを用いてgnuplotをやってみたお話をしようかなと思います。pythonのときはanacondaを使っていたのでmatplotlibで簡単にグラフ描画できたんですけどね。nimにはまだ(?)そういったパッケージがないのでgnuplotを利用します。

#環境
Windows10 64bit
Visual Studio Code 1.38.1
nim 1.0.0

#やったことリスト
1. nim動きますか?
2. nimbleでgnuplotをインストールしよう
3. gnuplot(自体)を入れましょう

#1. nim動きますか?
nimのインストールからvscodeで使えるようにするまでの詳細はまた後日書きたいですね。今回はvscodeからちゃんと実行できるよってことの確認をします。

helloworld.nim
echo "Hello World"
#Hello World

をターミナルを使って"nim c -r helloworld.nim"で実行して動作確認をしましょう。動けばok

#2. nimbleでgnuplotをインストールしよう
https://github.com/dvolk/gnuplot.nim
をインストールします。
名前がややこしくて勘違いしていたんですが、これをいれればグラフ描画ができるよってものではないらしいです。あくまでこれはnimでgnuplotを動かすためのインターフェイスなので、後でgnuplot自体をインストールする必要があります。(私はこれに気づかずに2週間ほど唸った...)
とまれ、ターミナルを使って"nimble install gnuplot"でインストールします。

現時点でgnuplotを利用したプログラムを実行してみましょう

gnu_test1.nim
import gnuplot,math

var
    X=newSeq[float64](1500)
    Y=newSeq[float64](len(X))
    Z=newSeq[float64](len(X))
proc f(x:float64):float64=
#ちょこっとムダだけど関数の練習で使ってみた
    result=x.sin
proc g(x:float64):float64=
    result=x.cos
for i in 0 ..< len(X):
    X[i]=i/100
    Y[i]=(i/100).f#Y[i]=(i/100).sinとかでもいいはず
    Z[i]=(i/100).g
cmd "set size square"
plot X,Y
plot X,Z

discard readChar stdin

するとこんな感じのエラーが出ます。
Error: execution of an external program failed: 'c:\Users\yagie\Documents\myprograms\nim\gnu_test1.exe '
いやー、ダメですねーーーgnuplot自体を入れないといけません(当然ちゃあ当然)...
#3. gnuplot(自体)を入れましょう
さてさて、gnuplotを入れましょう。
https://sourceforge.net/projects/gnuplot/files/gnuplot/
からダウンロードできます。あとダウンロードした"gp527-win64-mingw"を使ってインストールします。で、インストールが終わったらPATHを通します。私の場合"C:\Program Files\gnuplot\bin"でした。環境変数はWindows10ならコントロールパネル→システムとセキュリティ→システム→システムの詳細設定→環境変数でいじれます。できれば終了です。vscodeを開いて再度gnu_test1.nimを動かしてみましょう!!

コメント 2019-10-08 001753.png

やったー!!できましたね。
以上、nimでグラフ描画でしたー
それではよいnim-lifeを!!

 

5
7
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
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?