From c9023e2dacc889a89dc09a8b550bd9e003014362 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Santilio?= Date: Thu, 31 Dec 2020 15:02:54 +0100 Subject: [PATCH] update samples --- addons/easy_charts/BarChart/bar_chart.gd | 90 +++++++------------ addons/easy_charts/file.samples/2_columns.csv | 10 --- .../file.samples/2_columns.csv.import | 10 --- .../easy_charts/file.samples/datas.csv.import | 10 --- addons/easy_charts/file.samples/datas2.csv | 5 -- .../file.samples/datas2.csv.import | 10 --- .../file.samples/datas_on_columns.csv.import | 10 --- .../file.samples/datas_on_rows.csv | 5 -- .../file.samples/datas_on_rows.csv.import | 10 --- .../file.samples/gei_jam#2columns.csv | 3 - .../file.samples/gei_jam#2columns.csv.import | 10 --- .../godot_engine_italia_jam#2.csv | 6 -- .../godot_engine_italia_jam#2.csv.import | 10 --- .../{datas.csv => linechart (columns).csv} | 0 .../linechart (columns).csv.import | 10 +++ ...as_on_columns.csv => linechart (rows).csv} | 0 .../file.samples/linechart (rows).csv.import | 10 +++ 17 files changed, 52 insertions(+), 157 deletions(-) delete mode 100644 addons/easy_charts/file.samples/2_columns.csv delete mode 100644 addons/easy_charts/file.samples/2_columns.csv.import delete mode 100644 addons/easy_charts/file.samples/datas.csv.import delete mode 100644 addons/easy_charts/file.samples/datas2.csv delete mode 100644 addons/easy_charts/file.samples/datas2.csv.import delete mode 100644 addons/easy_charts/file.samples/datas_on_columns.csv.import delete mode 100644 addons/easy_charts/file.samples/datas_on_rows.csv delete mode 100644 addons/easy_charts/file.samples/datas_on_rows.csv.import delete mode 100644 addons/easy_charts/file.samples/gei_jam#2columns.csv delete mode 100644 addons/easy_charts/file.samples/gei_jam#2columns.csv.import delete mode 100644 addons/easy_charts/file.samples/godot_engine_italia_jam#2.csv delete mode 100644 addons/easy_charts/file.samples/godot_engine_italia_jam#2.csv.import rename addons/easy_charts/file.samples/{datas.csv => linechart (columns).csv} (100%) create mode 100644 addons/easy_charts/file.samples/linechart (columns).csv.import rename addons/easy_charts/file.samples/{datas_on_columns.csv => linechart (rows).csv} (100%) create mode 100644 addons/easy_charts/file.samples/linechart (rows).csv.import diff --git a/addons/easy_charts/BarChart/bar_chart.gd b/addons/easy_charts/BarChart/bar_chart.gd index 8b00363..e291192 100644 --- a/addons/easy_charts/BarChart/bar_chart.gd +++ b/addons/easy_charts/BarChart/bar_chart.gd @@ -160,14 +160,14 @@ func build_chart(): SIZE = get_size() origin = Vector2(OFFSET.x,SIZE.y-OFFSET.y) -func structure_datas(database : Array, are_values_columns : bool, x_values_index : int): - # @x_values_index can be either a column or a row relative to x values - self.are_values_columns = are_values_columns +func structure_datas(database : Array): + # @labels_index can be either a column or a row relative to x values + are_values_columns = (invert_chart != are_values_columns) if are_values_columns: for row in database.size(): var t_vals: Array for column in database[row].size(): - if column == x_values_index: + if column == labels_index: var x_data = database[row][column] if x_data.is_valid_float() or x_data.is_valid_integer(): x_datas.append(x_data as float) @@ -187,7 +187,7 @@ func structure_datas(database : Array, are_values_columns : bool, x_values_index x_label = str(x_datas.pop_front()) else: for row in database.size(): - if row == x_values_index: + if row == labels_index: x_datas = (database[row]) x_label = x_datas.pop_front() as String else: @@ -246,19 +246,16 @@ func structure_datas(database : Array, are_values_columns : bool, x_values_index func calculate_pass(): - if invert_chart: - x_chors = y_labels as PoolStringArray + if show_x_values_as_labels: + x_chors = x_datas as PoolStringArray else: - if show_x_values_as_labels: - x_chors = x_datas as PoolStringArray - else: - x_chors = x_labels + x_chors = x_labels # calculate distance in pixel between 2 consecutive values/datas if not are_values_columns: - x_pass = (SIZE.x - OFFSET.x*2 - (column_width) * ( y_datas.size() if not invert_chart else y_datas[0].size()+1 ) - column_gap - column_width/2) / ((x_chors.size()-1) if x_chors.size()!=1 else 1) + x_pass = (SIZE.x - OFFSET.x*2 - (column_width) * ( y_datas.size()) - column_gap - column_width/2) / ((x_chors.size()-1) if x_chors.size()!=1 else 1) else: - x_pass = (SIZE.x - OFFSET.x*2 - (column_width) * ( y_datas.size() if invert_chart else y_datas[0].size()+1 ) - column_gap - column_width/2) / (x_chors.size()-1) + x_pass = (SIZE.x - OFFSET.x*2 - (column_width) * ( y_datas[0].size()+1 ) - column_gap - column_width/2) / (x_chors.size()-1) y_pass = (origin.y - ChartName.get_rect().size.y*2) / (y_chors.size() - 1) func calculate_coordinates(): @@ -266,25 +263,15 @@ func calculate_coordinates(): y_coordinates.clear() point_values.clear() point_positions.clear() - - if invert_chart: - for column in y_datas[0].size(): - var single_coordinates : Array - for row in y_datas: - if origin_at_zero: - single_coordinates.append((row[column]*y_pass)/v_dist) - else: - single_coordinates.append((row[column] - y_margin_min)*y_pass/v_dist) - y_coordinates.append(single_coordinates) - else: - for cluster in y_datas: - var single_coordinates : Array - for value in cluster.size(): - if origin_at_zero: - single_coordinates.append((cluster[value]*y_pass)/v_dist) - else: - single_coordinates.append((cluster[value] - y_margin_min)*y_pass/v_dist) - y_coordinates.append(single_coordinates) + + for cluster in y_datas: + var single_coordinates : Array + for value in cluster.size(): + if origin_at_zero: + single_coordinates.append((cluster[value]*y_pass)/v_dist) + else: + single_coordinates.append((cluster[value] - y_margin_min)*y_pass/v_dist) + y_coordinates.append(single_coordinates) if show_x_values_as_labels: for x in x_datas.size(): @@ -292,10 +279,7 @@ func calculate_coordinates(): else: for x in x_datas.size(): if origin_at_zero: - if not invert_chart: - x_coordinates.append(x_pass*x) - else: - x_coordinates.append(x*x_pass/h_dist) + x_coordinates.append(x_pass*x) else: x_coordinates.append((x_datas[x] - x_margin_min)*x_pass/h_dist) @@ -303,24 +287,14 @@ func calculate_coordinates(): point_values.append([]) point_positions.append([]) - if invert_chart: - for function in y_coordinates.size(): - for function_value in y_coordinates[function].size(): - if are_values_columns: - point_values[function].append([x_datas[function_value],y_datas[function_value][function]]) - point_positions[function].append(Vector2(OFFSET.x/2 + column_width/2 + (column_width + column_gap)*function + x_coordinates[function_value]+origin.x,origin.y-y_coordinates[function][function_value])) - else: - point_positions[function].append(Vector2(OFFSET.x/2 + column_width/2 + (column_width + column_gap)*function + x_coordinates[function_value]+origin.x,origin.y-y_coordinates[function][function_value])) - point_values[function].append([x_datas[function_value],y_datas[function_value][function]]) - else: - for cluster in y_coordinates.size(): - for y in y_coordinates[cluster].size(): - if are_values_columns: - point_positions[y].append(Vector2(OFFSET.x/2 + column_width/2 + (column_width + column_gap)*y + x_coordinates[cluster] + origin.x, origin.y-y_coordinates[cluster][y])) - point_values[y].append([x_datas[cluster],y_datas[cluster][y]]) - else: - point_values[cluster].append([x_datas[y],y_datas[cluster][y]]) - point_positions[cluster].append(Vector2(OFFSET.x/2 + column_width/2 + (column_width + column_gap)*cluster + x_coordinates[y]+origin.x,origin.y-y_coordinates[cluster][y])) + for cluster in y_coordinates.size(): + for y in y_coordinates[cluster].size(): + if are_values_columns: + point_positions[y].append(Vector2(OFFSET.x/2 + column_width/2 + (column_width + column_gap)*y + x_coordinates[cluster] + origin.x, origin.y-y_coordinates[cluster][y])) + point_values[y].append([x_datas[cluster],y_datas[cluster][y]]) + else: + point_values[cluster].append([x_datas[y],y_datas[cluster][y]]) + point_positions[cluster].append(Vector2(OFFSET.x/2 + column_width/2 + (column_width + column_gap)*cluster + x_coordinates[y]+origin.x,origin.y-y_coordinates[cluster][y])) func _draw(): clear_points() @@ -342,10 +316,10 @@ func _draw(): point.connect("_mouse_entered",self,"show_data") point.connect("_mouse_exited",self,"hide_data") - point.create_point(points_shape[_function], function_colors[function_point if invert_chart else _function], + point.create_point(points_shape[_function], function_colors[_function], Color.white, point_positions[_function][function_point] + Vector2(0,7), point.format_value(point_values[_function][function_point], false, false), - y_labels[function_point if invert_chart else _function] as String) + y_labels[_function] as String) PointContainer.add_child(point) point.rect_size.y = origin.y - point_positions[_function][function_point].y draw_line( Vector2(point_positions[_function][function_point].x, origin.y), @@ -362,9 +336,9 @@ func draw_grid(): draw_line(point-Vector2(0,5),point,v_lines_color,1,true) var calculated_gap : float if not are_values_columns: - calculated_gap = ( y_datas.size() if not invert_chart else y_datas[0].size()+1 ) + calculated_gap = ( y_datas.size() ) else: - calculated_gap = ( y_datas.size() if invert_chart else y_datas[0].size()+1 ) + calculated_gap = ( y_datas[0].size()+1 ) draw_string( font, point + Vector2(-const_width/2*x_chors[p].length() + (column_width + column_gap) * functions, font_size), diff --git a/addons/easy_charts/file.samples/2_columns.csv b/addons/easy_charts/file.samples/2_columns.csv deleted file mode 100644 index 936a280..0000000 --- a/addons/easy_charts/file.samples/2_columns.csv +++ /dev/null @@ -1,10 +0,0 @@ -Year;Column 1 -2009;36200 -2010;36600 -2011;37500 -2012;38700 -2013;39600 -2014;40500 -2015;41200 -2016;41803 -2017;42600 diff --git a/addons/easy_charts/file.samples/2_columns.csv.import b/addons/easy_charts/file.samples/2_columns.csv.import deleted file mode 100644 index a005d65..0000000 --- a/addons/easy_charts/file.samples/2_columns.csv.import +++ /dev/null @@ -1,10 +0,0 @@ -[remap] - -importer="csv" -type="TextFile" - -[deps] - -source_file="res://addons/easy_charts/file.samples/2_columns.csv" -[params] - diff --git a/addons/easy_charts/file.samples/datas.csv.import b/addons/easy_charts/file.samples/datas.csv.import deleted file mode 100644 index aeeda06..0000000 --- a/addons/easy_charts/file.samples/datas.csv.import +++ /dev/null @@ -1,10 +0,0 @@ -[remap] - -importer="csv" -type="TextFile" - -[deps] - -source_file="res://addons/easy_charts/file.samples/datas.csv" -[params] - diff --git a/addons/easy_charts/file.samples/datas2.csv b/addons/easy_charts/file.samples/datas2.csv deleted file mode 100644 index f8939cb..0000000 --- a/addons/easy_charts/file.samples/datas2.csv +++ /dev/null @@ -1,5 +0,0 @@ -Year;2009;2010;2011;2012;2013;2014;2015;2016;2017 -Column 1;36200;36600;37500;38700;39600;40500;41200;41803;42600 -Column 2;27200;27800;28500;29400;30200;30900;31500;31931;32600 -Column 3;26200;26600;27500;28700;29600;20500;21200;21803;22600 -Column 4;17200;17800;18500;19400;10200;10900;11500;11931;12600 diff --git a/addons/easy_charts/file.samples/datas2.csv.import b/addons/easy_charts/file.samples/datas2.csv.import deleted file mode 100644 index cc1d366..0000000 --- a/addons/easy_charts/file.samples/datas2.csv.import +++ /dev/null @@ -1,10 +0,0 @@ -[remap] - -importer="csv" -type="TextFile" - -[deps] - -source_file="res://addons/easy_charts/file.samples/datas2.csv" -[params] - diff --git a/addons/easy_charts/file.samples/datas_on_columns.csv.import b/addons/easy_charts/file.samples/datas_on_columns.csv.import deleted file mode 100644 index 22f1cc0..0000000 --- a/addons/easy_charts/file.samples/datas_on_columns.csv.import +++ /dev/null @@ -1,10 +0,0 @@ -[remap] - -importer="csv" -type="TextFile" - -[deps] - -source_file="res://addons/easy_charts/file.samples/datas_on_columns.csv" -[params] - diff --git a/addons/easy_charts/file.samples/datas_on_rows.csv b/addons/easy_charts/file.samples/datas_on_rows.csv deleted file mode 100644 index b3bd3a9..0000000 --- a/addons/easy_charts/file.samples/datas_on_rows.csv +++ /dev/null @@ -1,5 +0,0 @@ -Year;2009;2010;2011;2012;2013;2014;2015;2016;2017 -Column 1;36200;36600;37500;38700;39600;40500;41200;41803;42600 -Column 2;27200;27800;28500;29400;30200;30900;31500;31931;32600 -Column 3;26200;26600;27500;28700;29600;20500;21200;21803;22600 -Column 4;17200;17800;18500;19400;10200;10900;11500;11931;12600 diff --git a/addons/easy_charts/file.samples/datas_on_rows.csv.import b/addons/easy_charts/file.samples/datas_on_rows.csv.import deleted file mode 100644 index 865b2ef..0000000 --- a/addons/easy_charts/file.samples/datas_on_rows.csv.import +++ /dev/null @@ -1,10 +0,0 @@ -[remap] - -importer="csv" -type="TextFile" - -[deps] - -source_file="res://addons/easy_charts/file.samples/datas_on_rows.csv" -[params] - diff --git a/addons/easy_charts/file.samples/gei_jam#2columns.csv b/addons/easy_charts/file.samples/gei_jam#2columns.csv deleted file mode 100644 index 6475b30..0000000 --- a/addons/easy_charts/file.samples/gei_jam#2columns.csv +++ /dev/null @@ -1,3 +0,0 @@ -Meccaniche;deve essere possibile rallentare/fermare il tempo;deve essere basato su una griglia;deve essere un gioco a tentativi;deve implementare della magia;non deve contenere istruzioni -Valori;22;13;20;20;15 -Valori2;22;13;20;20;15 diff --git a/addons/easy_charts/file.samples/gei_jam#2columns.csv.import b/addons/easy_charts/file.samples/gei_jam#2columns.csv.import deleted file mode 100644 index b661865..0000000 --- a/addons/easy_charts/file.samples/gei_jam#2columns.csv.import +++ /dev/null @@ -1,10 +0,0 @@ -[remap] - -importer="csv" -type="TextFile" - -[deps] - -source_file="res://addons/easy_charts/file.samples/gei_jam#2columns.csv" -[params] - diff --git a/addons/easy_charts/file.samples/godot_engine_italia_jam#2.csv b/addons/easy_charts/file.samples/godot_engine_italia_jam#2.csv deleted file mode 100644 index 1b1178f..0000000 --- a/addons/easy_charts/file.samples/godot_engine_italia_jam#2.csv +++ /dev/null @@ -1,6 +0,0 @@ -Meccaniche;Voti -deve essere possibile rallentare/fermare il tempo;22 -deve essere basato su una griglia;13 -deve essere un gioco a tentativi;20 -deve implementare della magia;20 -non deve contenere istruzioni;15 diff --git a/addons/easy_charts/file.samples/godot_engine_italia_jam#2.csv.import b/addons/easy_charts/file.samples/godot_engine_italia_jam#2.csv.import deleted file mode 100644 index be821ee..0000000 --- a/addons/easy_charts/file.samples/godot_engine_italia_jam#2.csv.import +++ /dev/null @@ -1,10 +0,0 @@ -[remap] - -importer="csv" -type="TextFile" - -[deps] - -source_file="res://addons/easy_charts/file.samples/godot_engine_italia_jam#2.csv" -[params] - diff --git a/addons/easy_charts/file.samples/datas.csv b/addons/easy_charts/file.samples/linechart (columns).csv similarity index 100% rename from addons/easy_charts/file.samples/datas.csv rename to addons/easy_charts/file.samples/linechart (columns).csv diff --git a/addons/easy_charts/file.samples/linechart (columns).csv.import b/addons/easy_charts/file.samples/linechart (columns).csv.import new file mode 100644 index 0000000..9c7c145 --- /dev/null +++ b/addons/easy_charts/file.samples/linechart (columns).csv.import @@ -0,0 +1,10 @@ +[remap] + +importer="csv" +type="TextFile" + +[deps] + +source_file="res://addons/easy_charts/file.samples/linechart (columns).csv" +[params] + diff --git a/addons/easy_charts/file.samples/datas_on_columns.csv b/addons/easy_charts/file.samples/linechart (rows).csv similarity index 100% rename from addons/easy_charts/file.samples/datas_on_columns.csv rename to addons/easy_charts/file.samples/linechart (rows).csv diff --git a/addons/easy_charts/file.samples/linechart (rows).csv.import b/addons/easy_charts/file.samples/linechart (rows).csv.import new file mode 100644 index 0000000..9b1b8f7 --- /dev/null +++ b/addons/easy_charts/file.samples/linechart (rows).csv.import @@ -0,0 +1,10 @@ +[remap] + +importer="csv" +type="TextFile" + +[deps] + +source_file="res://addons/easy_charts/file.samples/linechart (rows).csv" +[params] +