歩いたら休め

なんでこんな模様をしているのですか?

【Rust】Rustで数値計算プロジェクトを試す その5

昨日の件を友達に話したところ、crate側がRustのバージョンに対応してなかった可能性が高いようです。

これってちょっと見てみたけど、crate側の実装の問題な気がする。gnuplotのラッパーの方使ったら出力できた。

https://www.mathgram.xyz/entry/rust/gd

去年の中盤から更新されてなかったから

https://www.utam0k.jp/blog/2018/05/28/rust_std_default/

この一番下のエラーな気がするんだよな

というわけで、次のgnuplotライブラリを使って、サインカーブを出力してみます。

docs.rs

use gnuplot::{Figure, Caption, Color};

fn main() {
  let mut x = vec![];
  let mut y = vec![];

  for i in 0..1000 {
    let v = (i as f64) / 100.0;
    x.push(v);
    y.push(v.sin());
  }
  plot(x, y);
}

fn plot(x: Vec<f64>, y: Vec<f64>) {
  let mut fg = Figure::new();
  fg.set_terminal("pngcairo", "test.png");
  fg.axes2d()
      .lines(&x, &y, &[Caption("A line"), Color("black")]);
  fg.show();
}

できました!これで「サインカーブをプロットする」のというトイケースはクリアですね。

f:id:takeshi0406:20190209102830p:plain