Class: LineChart

Inherits:
Object
  • Object
show all
Defined in:
lib/line_chart/line_chart.rb

Instance Method Summary collapse

Constructor Details

#initialize(group, value, params) ⇒ LineChart

  • group - a vector of String categories

  • value - a vector of Float numeric value

  • parms - an Hash whit parametrs value

Parms

This Hash contain parmas . List of key permitted .

  • :title - (default “A sample Graph”) Graph main title

  • :x_label - (default ‘Categories’) Label of x ass

  • :y_label - (default ‘Value’) Label of y ass

  • :legend - (default false) Prints legend

  • :vertical - (default true) The orientation of the plot

  • :group_by - (default nil) A vector of values used to group the values into series within each category.

  • :gradient - (default false) Use gradient on bars

  • :height - (default 1500) Graph height

  • :width - (default 800) Graph width

  • :file_name - (default sample.jpg) Graph File Name/Path to save plot. You can chose jpg or pdf

Examples

Class Usage:

categories = ["uman","elf","dwarfs"]
values = [1.0,2.0,3.0]
params = {"title" => "Popolation of middle heart","x_label"=>"Popolation","y_label"=>"greed"}
plot = LineChart.new(categories,values,params)
#To view
plot.view 
#to save
plot.save


38
39
40
41
42
# File 'lib/line_chart/line_chart.rb', line 38

def initialize(group,value,params)
	@group=check_grp(group)
	@value=check_val(value)
	@params=self.check_par(params)
end

Instance Method Details

#check_par(params) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/line_chart/line_chart.rb', line 44

def check_par(params)
       	hash = Hash.new
	permitted = ["title","x_label","y_label","vertical","group_by","gradient","legend","width","height","file_name"]
       	keys = params.keys
       	keys.each{ |key|
               	 if permitted.include?(key)==false
                       	raise "Error : Permitted key are title,x_label,y_label,vertical,group_by,gradient,legend,width,height"
                	end
       	}
	
	if params["title"]==nil
               	hash["title"]="A sample Graph"
       	else
               	 hash["title"]=params["title"]
       	end

	if params["x_label"]==nil
                       hash["x_label"]="Categories"
               else
                        hash["x_label"]=params["x_label"]
               end

	if params["y_label"]==nil
                       hash["y_label"]="Values"
               else
                       hash["y_label"]=params["y_label"]
               end

	if params["vertical"]==nil
               	hash["vertical"]=true
      		else
               	hash["vertical"]=params["vertical"]
       	end

 	if params["legend"]==nil
       	        hash["legend"]=false
     		else
               	hash["legend"]=params["legend"]
       	end
	
	if params["gruop_by"]==nil
                       hash["group_by"]=nil
               else
                       hash["group_by"]=params["group_by"]
               end

	if params["gradient"]==nil
                       hash["gradient"]=false
               else
                       hash["gradient"]=params["gradient"]
               end

	if params["width"]==nil
               	hash["width"]=1500
       	else
               	hash["width"]=params["width"]
       	end

	if params["height"]==nil
               	hash["height"]=800
       	else
               	hash["height"]=params["height"]
       	end

       	if params["file_name"]==nil
               	hash["file_name"]="sample.jpg"
       	else
               	hash["file_name"]=params["file_name"]
      		end

	params_map = HashMap.new(hash)
       	return params_map
end

#getGroupObject



118
119
120
# File 'lib/line_chart/line_chart.rb', line 118

def getGroup
	@group
end

#getParamsObject



126
127
128
# File 'lib/line_chart/line_chart.rb', line 126

def getParams
        @params
end

#getValueObject



122
123
124
# File 'lib/line_chart/line_chart.rb', line 122

def getValue
	@value 
end

#saveObject



131
132
133
134
135
136
137
# File 'lib/line_chart/line_chart.rb', line 131

def save
	begin
       		a = Java::ComDomain::clocomics
      			a.save_area(self.getGroup,self.getValue,self.getParams)
	rescue Exception => ex
	end
end

#viewObject



138
139
140
141
142
143
144
145
146
# File 'lib/line_chart/line_chart.rb', line 138

def view
	 begin
                       a = Java::ComDomain::clocomics
                       a.view_area(self.getGroup,self.getValue,self.getParams)
               rescue Exception => ex
               end


end