rchart 2.0.2 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/lib/color_palette.rb +13 -12
- data/lib/line_chart.rb +2 -2
- data/lib/plot_chart.rb +28 -28
- data/lib/scale.rb +12 -12
- metadata +10 -32
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
1
|
+
2.0.4
|
data/lib/color_palette.rb
CHANGED
@@ -4,9 +4,7 @@ module ColorPalette
|
|
4
4
|
# You must provide an rgb color.
|
5
5
|
def set_color_palette(id,r,g,b)
|
6
6
|
b,g,r=validate_color(b, g, r)
|
7
|
-
|
8
|
-
@palette[id]["g"] = g
|
9
|
-
@palette[id]["b"] = b
|
7
|
+
set_palette(id, r, g, b)
|
10
8
|
end
|
11
9
|
|
12
10
|
# Create a color palette shading from one color to another
|
@@ -17,12 +15,11 @@ module ColorPalette
|
|
17
15
|
b_factor = (b2-b1)/shades
|
18
16
|
i= 0
|
19
17
|
while(i<= shades-1)
|
20
|
-
|
21
|
-
@palette[i]["g"] = g1+g_factor*i
|
22
|
-
@palette[i]["b"] = b1+b_factor*i
|
18
|
+
set_palette(i, r1+r_factor*i, g1+g_factor*i, b1+b_factor*i)
|
23
19
|
i = i+1
|
24
20
|
end
|
25
21
|
end
|
22
|
+
|
26
23
|
# This function will load the color scheme from a text file.
|
27
24
|
# This file must be formatted with three values per line ( r,g,b ).
|
28
25
|
# By default the delimiter is a coma but you can specify it.
|
@@ -32,9 +29,7 @@ module ColorPalette
|
|
32
29
|
while (line = infile.gets)
|
33
30
|
values = line.split(",")
|
34
31
|
if ( values.length == 3 )
|
35
|
-
|
36
|
-
@palette[color_id]["g"] = values[1].to_i
|
37
|
-
@palette[color_id]["b"] = values[2].to_i
|
32
|
+
set_palette(color_id, values[0].to_i, values[1].to_i, values[2].to_i)
|
38
33
|
color_id+=1
|
39
34
|
end
|
40
35
|
end
|
@@ -46,11 +41,17 @@ module ColorPalette
|
|
46
41
|
color_id = 0
|
47
42
|
color_palette.each do |palette|
|
48
43
|
if palette.length == 3
|
49
|
-
|
50
|
-
|
51
|
-
@palette[color_id]["b"] = palette[2].to_i
|
44
|
+
set_palette(
|
45
|
+
color_id, palette[0].to_i, palette[1].to_i, palette[2].to_i)
|
52
46
|
color_id+=1
|
53
47
|
end
|
54
48
|
end
|
55
49
|
end
|
50
|
+
|
51
|
+
private
|
52
|
+
|
53
|
+
def set_palette(id,r,g,b)
|
54
|
+
@palette[id] = { "r" => r, "g" => g, "b" => b }
|
55
|
+
end
|
56
|
+
|
56
57
|
end
|
data/lib/line_chart.rb
CHANGED
@@ -149,10 +149,10 @@ module LineChart
|
|
149
149
|
x_last = -1
|
150
150
|
data.each do |key|
|
151
151
|
if ( !key[y_serie_name].nil? && !key[x_serie_name].nil? )
|
152
|
-
x= key[x_serie_name]
|
152
|
+
x = key[x_serie_name]
|
153
153
|
y = key[y_serie_name]
|
154
154
|
y = @g_area_y2 - ((y-@vmin) * @division_ratio)
|
155
|
-
x=
|
155
|
+
x = @g_area_x1 + ((x-@v_x_min) * @x_division_ratio)
|
156
156
|
if (x_last != -1 && y_last != -1)
|
157
157
|
draw_line(x_last,y_last,x,y,@palette[palette_id]["r"],@palette[palette_id]["g"],@palette[palette_id]["b"],true)
|
158
158
|
end
|
data/lib/plot_chart.rb
CHANGED
@@ -113,38 +113,38 @@ module PlotChart
|
|
113
113
|
y_last = -1
|
114
114
|
x_last = -1
|
115
115
|
data.each do |key|
|
116
|
-
if (
|
117
|
-
x = key[x_serie_name]
|
118
|
-
y = key[y_serie_name]
|
119
|
-
y = @g_area_y2 - ((y-@vmin) * @division_ratio)
|
120
|
-
x = @g_area_x1 + ((x-@v_x_min) * @x_division_ratio)
|
121
|
-
if ( shadow )
|
122
|
-
if ( r3 !=-1 && g3 !=-1 && b3 !=-1 )
|
123
|
-
self.draw_filled_circle(x+2,y+2,big_radius,r3,g3,b3)
|
124
|
-
else
|
125
|
-
r3 = @palette[palette_id]["r"]-20
|
126
|
-
r = 0 if ( r < 0 )
|
127
|
-
g3 = @palette[palette_id]["g"]-20
|
128
|
-
g = 0 if ( g < 0 )
|
129
|
-
b3 = @palette[palette_id]["b"]-20
|
130
|
-
b = 0 if ( b < 0 )
|
131
|
-
draw_filled_circle(x+2,y+2,big_radius,r3,g3,b3)
|
132
|
-
end
|
133
|
-
end
|
134
|
-
draw_filled_circle(x+1,y+1,big_radius,r,g,b)
|
116
|
+
next if (key[y_serie_name].nil? or key[x_serie_name].nil?)
|
135
117
|
|
136
|
-
|
137
|
-
|
118
|
+
x = key[x_serie_name]
|
119
|
+
y = key[y_serie_name]
|
120
|
+
y = @g_area_y2 - ((y-@vmin) * @division_ratio)
|
121
|
+
x = @g_area_x1 + ((x-@v_x_min) * @x_division_ratio)
|
122
|
+
if ( shadow )
|
123
|
+
if ( r3 !=-1 && g3 !=-1 && b3 !=-1 )
|
124
|
+
self.draw_filled_circle(x+2,y+2,big_radius,r3,g3,b3)
|
138
125
|
else
|
139
|
-
|
140
|
-
r =
|
141
|
-
|
142
|
-
g =
|
143
|
-
|
144
|
-
b =
|
145
|
-
draw_filled_circle(x+
|
126
|
+
r3 = @palette[palette_id]["r"]-20
|
127
|
+
r = 0 if ( r < 0 )
|
128
|
+
g3 = @palette[palette_id]["g"]-20
|
129
|
+
g = 0 if ( g < 0 )
|
130
|
+
b3 = @palette[palette_id]["b"]-20
|
131
|
+
b = 0 if ( b < 0 )
|
132
|
+
draw_filled_circle(x+2,y+2,big_radius,r3,g3,b3)
|
146
133
|
end
|
147
134
|
end
|
135
|
+
draw_filled_circle(x+1,y+1,big_radius,r,g,b)
|
136
|
+
|
137
|
+
if ( r2 !=-1 && g2 !=-1 && b2 !=-1 )
|
138
|
+
draw_filled_circle(x+1,y+1,small_radius,r2,g2,b2)
|
139
|
+
else
|
140
|
+
r2 = @palette[palette_id]["r"]+20
|
141
|
+
r = 255 if ( r > 255 )
|
142
|
+
g2 = @palette[palette_id]["g"]+20
|
143
|
+
g = 255 if ( g > 255 )
|
144
|
+
b2 = @palette[palette_id]["b"]+20
|
145
|
+
b = 255 if ( b > 255 )
|
146
|
+
draw_filled_circle(x+1,y+1,small_radius,r2,g2,b2)
|
147
|
+
end
|
148
148
|
end
|
149
149
|
end
|
150
150
|
def draw_limits_graph(data,data_description,r=0,g=0,b=0)
|
data/lib/scale.rb
CHANGED
@@ -14,14 +14,14 @@ module Scale
|
|
14
14
|
# Allow you to fix the scale, use this to bypass the automatic scaling
|
15
15
|
# You can use this function to skip the automatic scaling.
|
16
16
|
# vmin and vmax will be used to render the graph.
|
17
|
-
def set_fixed_scale(v_min,v_max,divisions=5,v_x_min=
|
17
|
+
def set_fixed_scale(v_min,v_max,divisions=5,v_x_min=nil,v_x_max=nil,x_divisions=5)
|
18
18
|
@vmin = v_min.to_f
|
19
19
|
@vmax = v_max.to_f
|
20
20
|
@divisions = divisions.to_f
|
21
21
|
|
22
|
-
if (!v_x_min
|
22
|
+
if (!v_x_min.nil?)
|
23
23
|
@v_x_min = v_x_min.to_f
|
24
|
-
@v_x_max = v_x_max.to_f
|
24
|
+
@v_x_max = v_x_max.nil? ? 0.0 : v_x_max.to_f
|
25
25
|
@x_divisions = x_divisions.to_f
|
26
26
|
end
|
27
27
|
end
|
@@ -330,8 +330,8 @@ module Scale
|
|
330
330
|
scale = 2
|
331
331
|
end
|
332
332
|
if (!scale_ok)
|
333
|
-
factor = factor * 10 if ( scale2 > 1 )
|
334
|
-
factor = factor / 10 if ( scale2 < 1 )
|
333
|
+
factor = factor * 10.0 if ( scale2 > 1 )
|
334
|
+
factor = factor / 10.0 if ( scale2 < 1 )
|
335
335
|
end
|
336
336
|
end
|
337
337
|
if ((((@vmax*1.0 / scale) / factor)).floor != ((@vmax*1.0 / scale) / factor))
|
@@ -358,7 +358,7 @@ module Scale
|
|
358
358
|
divisions+=1
|
359
359
|
end
|
360
360
|
else
|
361
|
-
divisions
|
361
|
+
divisions = @divisions
|
362
362
|
end
|
363
363
|
@division_count = divisions
|
364
364
|
|
@@ -373,8 +373,8 @@ module Scale
|
|
373
373
|
while(i<= divisions+1)
|
374
374
|
self.draw_line(@g_area_x1,ypos,@g_area_x1-5,ypos,r,g,b)
|
375
375
|
value = @vmin*1.0 + (i-1) * (( @vmax - @vmin ) / divisions)
|
376
|
-
value
|
377
|
-
value= value.round if value.floor == value.ceil
|
376
|
+
value = value.round(decimals)
|
377
|
+
value = value.round if value.floor == value.ceil
|
378
378
|
value = "#{value} #{data_description['unit']['y']}" if ( data_description["format"]["y"]== "number")
|
379
379
|
value = self.to_time(value) if ( data_description["format"]["y"] == "time" )
|
380
380
|
value = self.to_date(value) if ( data_description["format"]["y"] == "date" )
|
@@ -489,10 +489,10 @@ module Scale
|
|
489
489
|
|
490
490
|
while(i<= x_divisions+1)
|
491
491
|
self.draw_line(xpos,@g_area_y2,xpos,@g_area_y2+5,r,g,b)
|
492
|
-
value
|
493
|
-
value
|
494
|
-
value= value.round if value.floor == value.ceil
|
495
|
-
value = "#{value}#{data_description['unit']['y']}" if ( data_description["format"]["y"]== "number")
|
492
|
+
value = @v_x_min + (i-1) * (( @v_x_max - @v_x_min ) / x_divisions)
|
493
|
+
value = value.round(decimals)
|
494
|
+
value = value.round if value.floor == value.ceil
|
495
|
+
value = "#{value}#{data_description['unit']['y']}" if ( data_description["format"]["y"] == "number")
|
496
496
|
value = self.to_time(value) if ( data_description["format"]["y"] == "time" )
|
497
497
|
value = self.to_date(value) if ( data_description["format"]["y"] == "date" )
|
498
498
|
value = self.to_metric(value) if ( data_description["format"]["Y"] == "metric" )
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rchart
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 7
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 2.0.
|
9
|
+
- 4
|
10
|
+
version: 2.0.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- amardaxini
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-12-22 00:00:00 +05:30
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -100,8 +100,8 @@ homepage: http://github.com/amardaxini/rchart
|
|
100
100
|
licenses: []
|
101
101
|
|
102
102
|
post_install_message:
|
103
|
-
rdoc_options:
|
104
|
-
|
103
|
+
rdoc_options: []
|
104
|
+
|
105
105
|
require_paths:
|
106
106
|
- lib
|
107
107
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -125,31 +125,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
125
|
requirements:
|
126
126
|
- libgd-ruby, libpng-dev, libgd-dev package are required
|
127
127
|
rubyforge_project: rchart
|
128
|
-
rubygems_version: 1.
|
128
|
+
rubygems_version: 1.4.2
|
129
129
|
signing_key:
|
130
130
|
specification_version: 3
|
131
131
|
summary: Ruby port of the slick pChart charting library
|
132
|
-
test_files:
|
133
|
-
|
134
|
-
- test/test_rchart.rb
|
135
|
-
- examples/example21.rb
|
136
|
-
- examples/example17.rb
|
137
|
-
- examples/example20.rb
|
138
|
-
- examples/example12.rb
|
139
|
-
- examples/example2.rb
|
140
|
-
- examples/example18.rb
|
141
|
-
- examples/example1.rb
|
142
|
-
- examples/example11.rb
|
143
|
-
- examples/example7.rb
|
144
|
-
- examples/example8.rb
|
145
|
-
- examples/example16.rb
|
146
|
-
- examples/example5.rb
|
147
|
-
- examples/example19.rb
|
148
|
-
- examples/example14.rb
|
149
|
-
- examples/example3.rb
|
150
|
-
- examples/example6.rb
|
151
|
-
- examples/example4.rb
|
152
|
-
- examples/example9.rb
|
153
|
-
- examples/example10.rb
|
154
|
-
- examples/example13.rb
|
155
|
-
- examples/example15.rb
|
132
|
+
test_files: []
|
133
|
+
|