GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — velocity/chart_creator.rb at main · cncf/velocity Expand file tree/ Copy pathchart_creator.rbMore file actions 61 lines (55 loc) · 2.24 KB / Copy pathchart_creator.rbFile metadata and controls61 lines (55 loc) · 2.24 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 require 'csv' require 'pry' content_top = "<!-- For more on the api used here, see https://developers.google.com/chart/interactive/docs/gallery/bubblechart --> <html> <head> <script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script> <script type='text/javascript'> google.charts.load('current', {'packages':['corechart']}); google.charts.setOnLoadCallback(drawSeriesChart); function drawSeriesChart() { var data = google.visualization.arrayToDataTable([ ['ID', 'Commits', 'PRs + Issues', 'Label','Authors']," data_row_count = 0; (!ARGV[3].nil? && ARGV[3].to_i > 0) ? bubble_limit = ARGV[3].to_i : bubble_limit = 999 v_max = h_max = 100 content_data = "" CSV.foreach(ARGV[0], headers: true) do |row| data_row_count += 1 break if data_row_count > bubble_limit bubble_hash = row.to_h project_id = bubble_hash['project'].gsub(/'/,'’') project_url = bubble_hash['url'] num_commits = bubble_hash['commits'].to_i num_pr_iss = bubble_hash['prs'].to_i + bubble_hash['issues'].to_i project_lbl = project_id + ' (' + project_url + ')' num_authors = '%.2f' % Math.sqrt(bubble_hash['authors'].to_i) content_data += " ['#{project_id}',#{num_commits},#{num_pr_iss},'#{project_lbl}',#{num_authors}],\n" v_max = num_pr_iss if num_pr_iss > v_max h_max = num_commits if num_commits > h_max end v_max *= 1.5 h_max *= 2 content_bottom = " ]); var options = { title: '#{ARGV[2]}', hAxis: {title: 'Commits', logScale: true, minValue: 50, maxValue: #{h_max.to_i}, minorGridlines:{count: 5}}, vAxis: {title: 'PRs + Issues', logScale: true, minValue: 50, maxValue: #{v_max.to_i}, minorGridlines:{count: 5}}, bubble: {textStyle: {fontSize: 12}}, sizeAxis: {minSize: 12, maxSize: 40}, }; var chart = new google.visualization.BubbleChart(document.getElementById('series_chart_div')); chart.draw(data, options); } </script> </head> <body> <div id='series_chart_div' style='width: 100%; height: 100%;'></div> </body> </html>" # File.open('out.txt', 'w') {|f| f.write('write your stuff here) } html_file = File.new(ARGV[1], 'w') html_file.puts(content_top) html_file.puts(content_data) html_file.puts(content_bottom) html_file.close |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |