Last active
September 2, 2015 19:19
-
-
Save junpeitsuji/78e39a51f0c4a8eee907 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'rubygems' | |
require 'gruff' | |
require 'prime' | |
# 配列を宣言 | |
primes = Array.new | |
prev_num = 0 | |
# 素数を生成する上限を決める | |
1001.times do |i| | |
x = i * 0.1 | |
n = x.to_i | |
num = Prime.each(n).count | |
# 1つ前のデータとの平均をとる | |
primes.push (num+prev_num)*0.5 | |
prev_num = num | |
end | |
# primes を標準出力へ表示 | |
p primes | |
#=begin | |
#初期化する(Lineは折れ線グラフ) | |
#コンストラクタにnew('高さx横幅')の形で渡せばそのサイズになる | |
g = Gruff::Line.new | |
#タイトルと日本語フォントの指定 | |
#今回はこのファイルと同じところにフォントファイルを置いたが、絶対パス指定でもおk | |
g.title = "与えられた数より小さい素数の個数" | |
g.font = "./ヒラギノ角ゴ Pro W3.otf" | |
g.line_width = 2 | |
#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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment