Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'rubygems'
- require 'gruff'
- require 'prime'
- # 配列を宣言
- primes = Array.new
- # 素数を生成する上限を決める
- 1001.times do |i|
- x = i * 0.1
- n = x.to_i
- num = Prime.each(n).count
- if i % 10 == 0 && Prime.prime?(n) then
- num -= 0.5
- end
- primes.push num
- end
- # primes を標準出力へ表示
- p primes
- #=begin
- #初期化する(Lineは折れ線グラフ)
- #コンストラクタにnew('高さx横幅')の形で渡せばそのサイズになる
- g = Gruff::Line.new
- #タイトルと日本語フォントの指定
- #今回はこのファイルと同じところにフォントファイルを置いたが、絶対パス指定でもおk
- g.title = "与えられた数より小さい素数の個数"
- g.font = "./ヒラギノ角ゴ Pro W3.otf"
- #X軸のラベルサイズ
- g.marker_font_size = 14
- #Y軸の最大値と最小値を設定
- #設定しないと自動
- #最大値や最小値だけを設定するとエラーが出る。
- g.maximum_value = 30
- g.minimum_value = 0
- #背景色
- #色を2色設定しているので上から下へ青から白にグラデーションがかかる
- #g.theme = {:background_colors => %w[blue white]}
- #描画するデータ設定(今回は1種類のデータ)
- #データの個数分以下の形式で追加していく
- #g.data("名前", [データ,データ,・・・], "色")
- g.data("π(x)", primes, "#cc6699")
- #X軸のラベル
- g.labels = {0 => '0',200 => '20',400 => '40',600 => '60',800 => '80',1000 => '100'}
- #書き出す
- g.write('primes.png')
- #=end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement