d3js-charts 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +3 -0
  4. data/D3-LICENSE +26 -0
  5. data/Gemfile +3 -0
  6. data/Gemfile.lock +117 -0
  7. data/LICENSE +25 -0
  8. data/README.md +72 -0
  9. data/Rakefile +2 -0
  10. data/app/assets/javascripts/d3.js +9263 -0
  11. data/app/assets/javascripts/d3.min.js +5 -0
  12. data/d3js-charts.gemspec +21 -0
  13. data/lib/chart_generators/bar_chart_generator.rb +23 -0
  14. data/lib/chart_generators/base_generator.rb +76 -0
  15. data/lib/chart_generators/bubble_chart_generator.rb +11 -0
  16. data/lib/chart_generators/histogram_generator.rb +11 -0
  17. data/lib/chart_generators/line_chart_generator.rb +11 -0
  18. data/lib/chart_generators/pie_chart_generator.rb +11 -0
  19. data/lib/chart_generators/polar_area_diagram_generator.rb +11 -0
  20. data/lib/chart_generators/radar_chart_generator.rb +11 -0
  21. data/lib/chart_generators/streamgraph_generator.rb +11 -0
  22. data/lib/chart_generators/treemap_generator.rb +11 -0
  23. data/lib/chart_helpers/common/bar_chart.rb +16 -0
  24. data/lib/chart_helpers/common/histogram.rb +12 -0
  25. data/lib/chart_helpers/common/line_chart.rb +11 -0
  26. data/lib/chart_helpers/common/pie_chart.rb +11 -0
  27. data/lib/chart_helpers/common_plots/biplot.rb +0 -0
  28. data/lib/chart_helpers/common_plots/box_plot.rb +0 -0
  29. data/lib/chart_helpers/common_plots/dot_plot.rb +0 -0
  30. data/lib/chart_helpers/common_plots/probability_plot.rb +0 -0
  31. data/lib/chart_helpers/common_plots/scatterplot.rb +0 -0
  32. data/lib/chart_helpers/field_specific/candlestick_chart.rb +0 -0
  33. data/lib/chart_helpers/field_specific/kagi_chart.rb +0 -0
  34. data/lib/chart_helpers/field_specific/open_high_low_close_chart.rb +0 -0
  35. data/lib/chart_helpers/field_specific/sparkline.rb +0 -0
  36. data/lib/chart_helpers/less_common/bubble_chart.rb +8 -0
  37. data/lib/chart_helpers/less_common/polar_area_diagram.rb +8 -0
  38. data/lib/chart_helpers/less_common/radar_chart.rb +9 -0
  39. data/lib/chart_helpers/less_common/streamgraph.rb +9 -0
  40. data/lib/chart_helpers/less_common/treemap.rb +16 -0
  41. data/lib/chart_helpers/less_common/waterfall_chart.rb +0 -0
  42. data/lib/chart_helpers/other/control_chart.rb +0 -0
  43. data/lib/chart_helpers/other/greninger_chart.rb +0 -0
  44. data/lib/chart_helpers/other/heatmap.rb +0 -0
  45. data/lib/chart_helpers/other/natal_chart.rb +0 -0
  46. data/lib/chart_helpers/other/nomogram.rb +0 -0
  47. data/lib/chart_helpers/other/pareto_chart.rb +0 -0
  48. data/lib/chart_helpers/other/run_chart.rb +0 -0
  49. data/lib/chart_helpers/other/strip_chart.rb +0 -0
  50. data/lib/chart_helpers/other/structure_chart.rb +0 -0
  51. data/lib/chart_helpers/other/vowel_chart.rb +0 -0
  52. data/lib/chart_helpers/well_known_named/gantt_chart.rb +0 -0
  53. data/lib/chart_helpers/well_known_named/nolan_chart.rb +0 -0
  54. data/lib/chart_helpers/well_known_named/pert_chart.rb +0 -0
  55. data/lib/chart_helpers/well_known_named/smith_chart.rb +0 -0
  56. data/lib/chart_templates/css/bubble_chart.css.erb +3 -0
  57. data/lib/chart_templates/css/histogram.css.erb +19 -0
  58. data/lib/chart_templates/css/horizontal_bar_chart.css.erb +8 -0
  59. data/lib/chart_templates/css/line_chart.css.erb +35 -0
  60. data/lib/chart_templates/css/pie_chart.css.erb +8 -0
  61. data/lib/chart_templates/css/polar_area_diagram.css.erb +5 -0
  62. data/lib/chart_templates/css/radar_chart.css.erb +6 -0
  63. data/lib/chart_templates/css/streamgraph.css.erb +26 -0
  64. data/lib/chart_templates/css/treemap.css.erb +20 -0
  65. data/lib/chart_templates/css/vertical_bar_chart.css.erb +23 -0
  66. data/lib/chart_templates/js/bubble_chart.js.erb +49 -0
  67. data/lib/chart_templates/js/histogram.js.erb +55 -0
  68. data/lib/chart_templates/js/horizontal_bar_chart.js.erb +13 -0
  69. data/lib/chart_templates/js/line_chart.js.erb +65 -0
  70. data/lib/chart_templates/js/pie_chart.js.erb +44 -0
  71. data/lib/chart_templates/js/polar_area_diagram.js.erb +184 -0
  72. data/lib/chart_templates/js/radar_chart.js.erb +299 -0
  73. data/lib/chart_templates/js/streamgraph.js.erb +161 -0
  74. data/lib/chart_templates/js/treemap.js.erb +46 -0
  75. data/lib/chart_templates/js/vertical_bar_chart.js.erb +59 -0
  76. data/lib/d3/charts.rb +3 -0
  77. data/lib/d3/charts/engine.rb +6 -0
  78. data/lib/d3/charts/railtie.rb +19 -0
  79. data/lib/d3/charts/version.rb +5 -0
  80. data/lib/d3js-charts.rb +23 -0
  81. metadata +150 -0
@@ -0,0 +1,46 @@
1
+ var margin = {top: 40, right: 10, bottom: 10, left: 10},
2
+ width = 960 - margin.left - margin.right,
3
+ height = 500 - margin.top - margin.bottom;
4
+
5
+ var color = d3.scale.category20c();
6
+
7
+ var treemap = d3.layout.treemap()
8
+ .size([width, height])
9
+ .sticky(true)
10
+ .value(function(d) { return d.size; });
11
+
12
+ var div = d3.select("<%= element %>").append("div")
13
+ .style("position", "relative")
14
+ .style("width", (width + margin.left + margin.right) + "px")
15
+ .style("height", (height + margin.top + margin.bottom) + "px")
16
+ .style("left", margin.left + "px")
17
+ .style("top", margin.top + "px");
18
+
19
+ d3.json("<%= data %>", function(error, root) {
20
+ var node = div.datum(root).selectAll(".node")
21
+ .data(treemap.nodes)
22
+ .enter().append("div")
23
+ .attr("class", "node")
24
+ .call(position)
25
+ .style("background", function(d) { return d.children ? color(d.name) : null; })
26
+ .text(function(d) { return d.children ? null : d.name; });
27
+
28
+ d3.selectAll("input").on("change", function change() {
29
+ var value = this.value === "count"
30
+ ? function() { return 1; }
31
+ : function(d) { return d.size; };
32
+
33
+ node
34
+ .data(treemap.value(value).nodes)
35
+ .transition()
36
+ .duration(1500)
37
+ .call(position);
38
+ });
39
+ });
40
+
41
+ function position() {
42
+ this.style("left", function(d) { return d.x + "px"; })
43
+ .style("top", function(d) { return d.y + "px"; })
44
+ .style("width", function(d) { return Math.max(0, d.dx - 1) + "px"; })
45
+ .style("height", function(d) { return Math.max(0, d.dy - 1) + "px"; });
46
+ }
@@ -0,0 +1,59 @@
1
+ var margin = {top: 20, right: 20, bottom: 30, left: 40},
2
+ width = 960 - margin.left - margin.right,
3
+ height = 500 - margin.top - margin.bottom;
4
+
5
+ var x = d3.scale.ordinal()
6
+ .rangeRoundBands([0, width], .1);
7
+
8
+ var y = d3.scale.linear()
9
+ .range([height, 0]);
10
+
11
+ var xAxis = d3.svg.axis()
12
+ .scale(x)
13
+ .orient("bottom");
14
+
15
+ var yAxis = d3.svg.axis()
16
+ .scale(y)
17
+ .orient("left")
18
+ .ticks(10, "%");
19
+
20
+ var svg = d3.select("<%= element %>").append("svg")
21
+ .attr("width", width + margin.left + margin.right)
22
+ .attr("height", height + margin.top + margin.bottom)
23
+ .append("g")
24
+ .attr("transform", "translate(" + margin.left + "," + margin.top + ")");
25
+
26
+ d3.tsv("<%= data %>", type, function(error, data) {
27
+ x.domain(data.map(function(d) { return d.letter; }));
28
+ y.domain([0, d3.max(data, function(d) { return d.frequency; })]);
29
+
30
+ svg.append("g")
31
+ .attr("class", "x axis")
32
+ .attr("transform", "translate(0," + height + ")")
33
+ .call(xAxis);
34
+
35
+ svg.append("g")
36
+ .attr("class", "y axis")
37
+ .call(yAxis)
38
+ .append("text")
39
+ .attr("transform", "rotate(-90)")
40
+ .attr("y", 6)
41
+ .attr("dy", ".71em")
42
+ .style("text-anchor", "end")
43
+ .text("Frequency");
44
+
45
+ svg.selectAll(".bar")
46
+ .data(data)
47
+ .enter().append("rect")
48
+ .attr("class", "bar")
49
+ .attr("x", function(d) { return x(d.letter); })
50
+ .attr("width", x.rangeBand())
51
+ .attr("y", function(d) { return y(d.frequency); })
52
+ .attr("height", function(d) { return height - y(d.frequency); });
53
+
54
+ });
55
+
56
+ function type(d) {
57
+ d.frequency = +d.frequency;
58
+ return d;
59
+ }
@@ -0,0 +1,3 @@
1
+ require 'd3/charts/engine'
2
+ require 'd3/charts/railtie'
3
+ require 'd3/charts/version'
@@ -0,0 +1,6 @@
1
+ module D3
2
+ module Charts
3
+ class Engine < ::Rails::Engine
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,19 @@
1
+ module D3
2
+ module Charts
3
+ class Railtie < ::Rails::Railtie
4
+ initializer "chart_helpers" do
5
+ # common charts
6
+ ActionView::Base.send :include, BarChart
7
+ ActionView::Base.send :include, Histogram
8
+ ActionView::Base.send :include, PieChart
9
+ ActionView::Base.send :include, LineChart
10
+ # less common charts
11
+ ActionView::Base.send :include, BubbleChart
12
+ ActionView::Base.send :include, PolarAreaDiagram
13
+ ActionView::Base.send :include, RadarChart
14
+ ActionView::Base.send :include, Streamgraph
15
+ ActionView::Base.send :include, Treemap
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,5 @@
1
+ module D3
2
+ module Charts
3
+ VERSION = "1.1.0"
4
+ end
5
+ end
@@ -0,0 +1,23 @@
1
+ require 'chart_generators/base_generator'
2
+
3
+ require 'chart_generators/bar_chart_generator'
4
+ require 'chart_generators/histogram_generator'
5
+ require 'chart_generators/pie_chart_generator'
6
+ require 'chart_generators/line_chart_generator'
7
+ require 'chart_generators/bubble_chart_generator'
8
+ require 'chart_generators/polar_area_diagram_generator'
9
+ require 'chart_generators/radar_chart_generator'
10
+ require 'chart_generators/streamgraph_generator'
11
+ require 'chart_generators/treemap_generator'
12
+
13
+ require 'chart_helpers/common/bar_chart'
14
+ require 'chart_helpers/common/histogram'
15
+ require 'chart_helpers/common/pie_chart'
16
+ require 'chart_helpers/common/line_chart'
17
+ require 'chart_helpers/less_common/bubble_chart'
18
+ require 'chart_helpers/less_common/polar_area_diagram'
19
+ require 'chart_helpers/less_common/radar_chart'
20
+ require 'chart_helpers/less_common/streamgraph'
21
+ require 'chart_helpers/less_common/treemap'
22
+
23
+ require 'd3/charts'
metadata ADDED
@@ -0,0 +1,150 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: d3js-charts
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.0
5
+ platform: ruby
6
+ authors:
7
+ - leavitals
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-08-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: railties
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '3.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '3.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '3.1'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '3.1'
41
+ description: This gem provides view helpers to create d3.js charts easily
42
+ email:
43
+ - leavitals@gmail.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - ".gitignore"
49
+ - CHANGELOG.md
50
+ - D3-LICENSE
51
+ - Gemfile
52
+ - Gemfile.lock
53
+ - LICENSE
54
+ - README.md
55
+ - Rakefile
56
+ - app/assets/javascripts/d3.js
57
+ - app/assets/javascripts/d3.min.js
58
+ - d3js-charts.gemspec
59
+ - lib/chart_generators/bar_chart_generator.rb
60
+ - lib/chart_generators/base_generator.rb
61
+ - lib/chart_generators/bubble_chart_generator.rb
62
+ - lib/chart_generators/histogram_generator.rb
63
+ - lib/chart_generators/line_chart_generator.rb
64
+ - lib/chart_generators/pie_chart_generator.rb
65
+ - lib/chart_generators/polar_area_diagram_generator.rb
66
+ - lib/chart_generators/radar_chart_generator.rb
67
+ - lib/chart_generators/streamgraph_generator.rb
68
+ - lib/chart_generators/treemap_generator.rb
69
+ - lib/chart_helpers/common/bar_chart.rb
70
+ - lib/chart_helpers/common/histogram.rb
71
+ - lib/chart_helpers/common/line_chart.rb
72
+ - lib/chart_helpers/common/pie_chart.rb
73
+ - lib/chart_helpers/common_plots/biplot.rb
74
+ - lib/chart_helpers/common_plots/box_plot.rb
75
+ - lib/chart_helpers/common_plots/dot_plot.rb
76
+ - lib/chart_helpers/common_plots/probability_plot.rb
77
+ - lib/chart_helpers/common_plots/scatterplot.rb
78
+ - lib/chart_helpers/field_specific/candlestick_chart.rb
79
+ - lib/chart_helpers/field_specific/kagi_chart.rb
80
+ - lib/chart_helpers/field_specific/open_high_low_close_chart.rb
81
+ - lib/chart_helpers/field_specific/sparkline.rb
82
+ - lib/chart_helpers/less_common/bubble_chart.rb
83
+ - lib/chart_helpers/less_common/polar_area_diagram.rb
84
+ - lib/chart_helpers/less_common/radar_chart.rb
85
+ - lib/chart_helpers/less_common/streamgraph.rb
86
+ - lib/chart_helpers/less_common/treemap.rb
87
+ - lib/chart_helpers/less_common/waterfall_chart.rb
88
+ - lib/chart_helpers/other/control_chart.rb
89
+ - lib/chart_helpers/other/greninger_chart.rb
90
+ - lib/chart_helpers/other/heatmap.rb
91
+ - lib/chart_helpers/other/natal_chart.rb
92
+ - lib/chart_helpers/other/nomogram.rb
93
+ - lib/chart_helpers/other/pareto_chart.rb
94
+ - lib/chart_helpers/other/run_chart.rb
95
+ - lib/chart_helpers/other/strip_chart.rb
96
+ - lib/chart_helpers/other/structure_chart.rb
97
+ - lib/chart_helpers/other/vowel_chart.rb
98
+ - lib/chart_helpers/well_known_named/gantt_chart.rb
99
+ - lib/chart_helpers/well_known_named/nolan_chart.rb
100
+ - lib/chart_helpers/well_known_named/pert_chart.rb
101
+ - lib/chart_helpers/well_known_named/smith_chart.rb
102
+ - lib/chart_templates/css/bubble_chart.css.erb
103
+ - lib/chart_templates/css/histogram.css.erb
104
+ - lib/chart_templates/css/horizontal_bar_chart.css.erb
105
+ - lib/chart_templates/css/line_chart.css.erb
106
+ - lib/chart_templates/css/pie_chart.css.erb
107
+ - lib/chart_templates/css/polar_area_diagram.css.erb
108
+ - lib/chart_templates/css/radar_chart.css.erb
109
+ - lib/chart_templates/css/streamgraph.css.erb
110
+ - lib/chart_templates/css/treemap.css.erb
111
+ - lib/chart_templates/css/vertical_bar_chart.css.erb
112
+ - lib/chart_templates/js/bubble_chart.js.erb
113
+ - lib/chart_templates/js/histogram.js.erb
114
+ - lib/chart_templates/js/horizontal_bar_chart.js.erb
115
+ - lib/chart_templates/js/line_chart.js.erb
116
+ - lib/chart_templates/js/pie_chart.js.erb
117
+ - lib/chart_templates/js/polar_area_diagram.js.erb
118
+ - lib/chart_templates/js/radar_chart.js.erb
119
+ - lib/chart_templates/js/streamgraph.js.erb
120
+ - lib/chart_templates/js/treemap.js.erb
121
+ - lib/chart_templates/js/vertical_bar_chart.js.erb
122
+ - lib/d3/charts.rb
123
+ - lib/d3/charts/engine.rb
124
+ - lib/d3/charts/railtie.rb
125
+ - lib/d3/charts/version.rb
126
+ - lib/d3js-charts.rb
127
+ homepage: https://github.com/lvitals/d3js-charts
128
+ licenses: []
129
+ metadata: {}
130
+ post_install_message:
131
+ rdoc_options: []
132
+ require_paths:
133
+ - lib
134
+ required_ruby_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ required_rubygems_version: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: 1.1.0
144
+ requirements: []
145
+ rubyforge_project: d3js-charts
146
+ rubygems_version: 2.6.12
147
+ signing_key:
148
+ specification_version: 4
149
+ summary: D3 for Rails Asset Pipeline
150
+ test_files: []