eyecatch thumbnail

idl polyline の使い方

Profile picture
ルッチ / Lucci
2019.09.15

Contents


はじめに

polyline() を使うことで、図に線を引くことができます。

polyline() の基本的な文法は以下の通りです。

plt = plot(X, Y, /buffer)
line = polyline([x1, x2], [y1, y2], target = plt, /data)

基本的には (x1, y1) が始点で (x2, y2) が終点です。

応用すれば、線をつなぐ点の個数は、(x1, y1), (x2, y2), (x3, y3), … というようにいくつまででも増やすことができます。

つまり、四角や三角などの図形も描くことができます。

しかし、全ての点を同じ線でつなぐので、線の種類や色を変えたい場合は、polyline() を複数回使ってください。

具体例

以下に具体例を示します。 今回は、[0, 2π] の範囲で、y = |cos(x)|plot() で描き、その図の全体にばつ印を polyline() で描いてみました。

出力結果とソースコードは以下の通りです。

figure_sample_polyline

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; x [0, 2π];; y = abs(cos(x)) をプロットし、
;; 図の全体に バツ印を書いてみる。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

pro sample_polyline

saveDirName = '~/Downloads/'
saveFileName = 'figure_sample_polyline.png'

n = 100d
x = dindgen(n, start = 0, increment = 2d*!pi/n)
y = abs(cos(x))

plt = plot(x, y,$
    ; x 
    xtitle = 'x [rad]',$
    xrange = [0, 2d*!pi],$
    xtickvalues = [0, !pi, 2d*!pi],$
    xtickname = ['0', '$\pi$', '2$\pi$'],$
    xminor = 1,$
    ; y
    ytitle = '|cos(x)|',$
    yrange = [0, 1],$
    ytickvalues = [0, 1],$
    ytickname = ytickvalues,$
    yminor = 4,$
    ; title
    title = '',$
    ; linestyle
    linestyle = 0,$ ; solid line
    thick = 2,$
    color = 'black',$
    ; symbol
    symbol = 'o',$
    sym_size = 0,$
    sym_color = 'black',$
    sym_filled = 1,$
    ; font
    font_size = 14,$
    font_name = 'Helvetica',$
    ; option
    /buffer)

line = polyline([0, 2d*!pi], [1, 0],$
    target = plt,$
    linestyle = 2,$ ; dashed line
    color = 'black',$
    /data)

line = polyline([0, 2d*!pi], [0, 1],$
    target = plt,$
    linestyle = 2,$ ; dashed line
    color = 'black',$
    /data)

plt.save, saveDirName + saveFileName

end

参考資料 & おすすめ書籍

この記事は IDL Reference を参考にして執筆しました。

おすすめ書籍は以下になります。

最後までお読みいただき、ありがとうございました:)

愛用品

  • Xiser Pro Trainer
    1日中踏み続けられる強靭なステッパーでおすすめです.
  • HHKB Professional 墨 x HHKB キートップセット 白
    ボディは墨色キートップは白色なのでめちゃめちゃ目に優しいのでおすすめです.
  • Apple Magic Mouse 2
    トラックパッドは指が攣りそうになりますけどマウスはその心配が無いのでおすすめです.
  • Apple MacMini
    ミニマルでパワフルなデスクトップ PC なので個人的に大好きなのでおすすめです.
  • iiyama Display 27inch FullHD
    鮮明すぎない画面で目も疲れにくいですし何より高さ調節できるのが最高なのでおすすめです.
  • KINTO UNITEA 550ml
    500ml の大容量でこの綺麗なデザインは他にみたことがないのでおすすめです.

関連記事


大学生へのお知らせ

ここまで記事を読んでくれて本当に嬉しいです、ありがとうございます。

プログラミングを始めたばかりの頃って「やるぞ!」という気持ちは強めですが、 実際に取り組み始めると「何からどうやってどこまでやればいんだ?」 という感じで羅針盤を失うことが多いような気がします。(実体験)

そんな勉強熱心で向上心高めなんだけど目指す姿が曖昧な大学生の方に感謝の意も込めて、就職活動までサポートするプログラミングスクール「レバテックカレッジ」を紹介します。↓

Levtech-college

「自走力」のあるエンジニアを最短3ヶ月で目指せるカリキュラムが月額30,000円で用意されていて、 現段階の「目指す姿が曖昧で何から手をつければいいかわからない状態」から脱却できます。

自分は実際にIT企業で働いていますが、「自走力」のあるエンジニアの方にはいつも助けられています。

なので、目指す姿が曖昧な人はとりあえずレバテックカレッジが導いてくれる 「自走力のあるエンジニア」を目指してみるのはスタートダッシュとしてはアリです。

レベルアップしてからジョブチェンするのはRPGでも常套手段ですし、 レバテックカレッジで一通りのスキルを習得してから自分の目指す姿を再定義するといいかもです。

「自走力のあるエンジニア」って実際どんなエンジニアなの? 何から手をつければいいかわからないから教えて欲しい、 という人は上のテキストリンク/画像リンクから「無料相談会」への申し込みをお願いします。

よきエンジニアライフを!