Advertisement
Guest User

Untitled

a guest
Sep 2nd, 2015
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. require 'rubygems'
  2. require 'gruff'
  3. require 'prime'
  4.  
  5.  
  6. # 配列を宣言
  7. primes = Array.new
  8.  
  9. # 素数を生成する上限を決める
  10. 1001.times do |i|
  11. x = i * 0.1
  12.  
  13. n = x.to_i
  14. num = Prime.each(n).count
  15.  
  16. if i % 10 == 0 && Prime.prime?(n) then
  17. num -= 0.5
  18. end
  19.  
  20. primes.push num
  21.  
  22. end
  23.  
  24. # primes を標準出力へ表示
  25. p primes
  26.  
  27.  
  28.  
  29. #=begin
  30. #初期化する(Lineは折れ線グラフ)
  31. #コンストラクタにnew('高さx横幅')の形で渡せばそのサイズになる
  32. g = Gruff::Line.new
  33.  
  34. #タイトルと日本語フォントの指定
  35. #今回はこのファイルと同じところにフォントファイルを置いたが、絶対パス指定でもおk
  36. g.title = "与えられた数より小さい素数の個数"
  37. g.font = "./ヒラギノ角ゴ Pro W3.otf"
  38.  
  39. #X軸のラベルサイズ
  40. g.marker_font_size = 14
  41.  
  42. #Y軸の最大値と最小値を設定
  43. #設定しないと自動
  44. #最大値や最小値だけを設定するとエラーが出る。
  45. g.maximum_value = 30
  46. g.minimum_value = 0
  47.  
  48. #背景色
  49. #色を2色設定しているので上から下へ青から白にグラデーションがかかる
  50. #g.theme = {:background_colors => %w[blue white]}
  51.  
  52.  
  53. #描画するデータ設定(今回は1種類のデータ)
  54. #データの個数分以下の形式で追加していく
  55. #g.data("名前", [データ,データ,・・・], "色")
  56. g.data("π(x)", primes, "#cc6699")
  57.  
  58.  
  59. #X軸のラベル
  60. g.labels = {0 => '0',200 => '20',400 => '40',600 => '60',800 => '80',1000 => '100'}
  61.  
  62. #書き出す
  63. g.write('primes.png')
  64.  
  65. #=end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement