GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — velocity/chart_creator.rb at main · cncf/velocity

Expand file tree

/

chart_creator.rb

Copy path
More file actions
More file actions

Latest commit

 

History

History
History
61 lines (55 loc) · 2.24 KB
/

chart_creator.rb

Copy path

File metadata and controls

61 lines (55 loc) · 2.24 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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.