mirror of
https://github.com/Relintai/pandemonium_engine_easy_charts.git
synced 2025-02-26 17:24:21 +01:00
update dataframe
This commit is contained in:
parent
ef76c04470
commit
90128adb3c
@ -372,7 +372,7 @@ func populate_x_datas():
|
|||||||
x_datas.append(x_values)
|
x_datas.append(x_values)
|
||||||
|
|
||||||
func populate_y_datas():
|
func populate_y_datas():
|
||||||
y_labels.append(y_values.duplicate(true).pop_front() as String)
|
y_labels.append(y_values.pop_front() as String)
|
||||||
|
|
||||||
for val in y_values.size():
|
for val in y_values.size():
|
||||||
y_values[val] = y_values[val] as float
|
y_values[val] = y_values[val] as float
|
||||||
|
@ -9,42 +9,37 @@ var datamatrix : Matrix = null
|
|||||||
var dataset : Array = []
|
var dataset : Array = []
|
||||||
|
|
||||||
func _init(datamatrix : Matrix, headers : PoolStringArray = [], labels : PoolStringArray = [] , table_name : String = "") -> void:
|
func _init(datamatrix : Matrix, headers : PoolStringArray = [], labels : PoolStringArray = [] , table_name : String = "") -> void:
|
||||||
if headers.empty() : for header in range(datamatrix.get_size().y) : headers.append(MatrixGenerator.get_letter_index(header))
|
|
||||||
if labels.empty() : for label in range(datamatrix.get_size().x) : labels.append(label as String)
|
|
||||||
if datamatrix.empty(): datamatrix.resize(labels.size(), headers.size())
|
if datamatrix.empty(): datamatrix.resize(labels.size(), headers.size())
|
||||||
|
if labels.empty() : for label in range(datamatrix.get_size().x) : labels.append(label as String)
|
||||||
|
if headers.empty() : for header in range(datamatrix.get_size().y) : headers.append(MatrixGenerator.get_letter_index(header))
|
||||||
build_dataframe(datamatrix, headers, labels, table_name)
|
build_dataframe(datamatrix, headers, labels, table_name)
|
||||||
|
|
||||||
func build_dataframe(datamatrix : Matrix, headers : PoolStringArray = [], labels : PoolStringArray = [] , table_name : String = "") -> void:
|
func build_dataframe(datamatrix : Matrix, headers : PoolStringArray = [], labels : PoolStringArray = [] , table_name : String = "") -> void:
|
||||||
self.datamatrix = datamatrix
|
self.datamatrix = datamatrix
|
||||||
self.table_name = table_name
|
|
||||||
self.labels = labels
|
|
||||||
self.headers = headers
|
self.headers = headers
|
||||||
|
self.labels = labels
|
||||||
|
self.table_name = table_name
|
||||||
self.dataset = build_dataset_from_matrix(datamatrix, headers, labels)
|
self.dataset = build_dataset_from_matrix(datamatrix, headers, labels)
|
||||||
|
|
||||||
func build_dataset(data : Array, headers : PoolStringArray, labels : PoolStringArray) -> Array:
|
|
||||||
var dataset : Array = [Array(headers)]
|
|
||||||
for row_i in range(data.size()): dataset.append([labels[row_i]]+data[row_i])
|
|
||||||
return dataset
|
|
||||||
|
|
||||||
func build_dataset_from_matrix(datamatrix : Matrix, headers : PoolStringArray, labels : PoolStringArray) -> Array:
|
func build_dataset_from_matrix(datamatrix : Matrix, headers : PoolStringArray, labels : PoolStringArray) -> Array:
|
||||||
var data : Array = datamatrix.to_array()
|
var data : Array = datamatrix.to_array()
|
||||||
return build_dataset(data, headers, labels)
|
return build_dataset(data, headers, labels)
|
||||||
|
|
||||||
func insert_column(column : Array, header : String = "", index : int = dataset[0].size()) -> void:
|
func build_dataset(data : Array, headers : PoolStringArray, labels : PoolStringArray) -> Array:
|
||||||
assert(column.size() == datamatrix.rows(), "error: the column size must match the dataset column size")
|
var dataset : Array = [Array([" "]) + Array(headers)]
|
||||||
|
for row_i in range(labels.size()): dataset.append(([labels[row_i]] + data[row_i]) if not data.empty() else [labels[row_i]])
|
||||||
|
return dataset
|
||||||
|
|
||||||
|
func insert_column(column : Array, header : String = "", index : int = dataset[0].size() - 1) -> void:
|
||||||
|
assert(column.size() == datamatrix.rows() if not datamatrix.empty() else labels.size(), "error: the column size must match the dataset column size")
|
||||||
headers.insert(index, header if header != "" else MatrixGenerator.get_letter_index(index))
|
headers.insert(index, header if header != "" else MatrixGenerator.get_letter_index(index))
|
||||||
if datamatrix.get_column(index-2 if index > 2 else 0).count(null) == datamatrix.rows():
|
datamatrix.insert_column(column, index)
|
||||||
datamatrix.update_column(column, index-2)
|
|
||||||
else:
|
|
||||||
datamatrix.insert_column(column, index-1)
|
|
||||||
dataset = build_dataset_from_matrix(datamatrix, headers, labels)
|
dataset = build_dataset_from_matrix(datamatrix, headers, labels)
|
||||||
|
|
||||||
func insert_row(row : Array, label : String = "", index : int = dataset.size()) -> PoolStringArray:
|
func insert_row(row : Array, label : String = "", index : int = dataset.size() - 1) -> PoolStringArray:
|
||||||
labels.insert(index-1, label if label != "" else (index-1) as String)
|
assert(row.size() == datamatrix.columns() if not datamatrix.empty() else headers.size(), "error: the row size must match the dataset row size")
|
||||||
if datamatrix.get_row(index-2 if index > 2 else 0).count(null) == datamatrix.columns():
|
labels.insert(index, label if label != "" else str(index))
|
||||||
datamatrix.update_row(row, index-2 if index > 2 else 0)
|
datamatrix.insert_row(row, index)
|
||||||
else:
|
|
||||||
datamatrix.insert_row(row, index-1)
|
|
||||||
dataset = build_dataset_from_matrix(datamatrix, headers, labels)
|
dataset = build_dataset_from_matrix(datamatrix, headers, labels)
|
||||||
return PoolStringArray([label] + row)
|
return PoolStringArray([label] + row)
|
||||||
|
|
||||||
|
@ -29,10 +29,9 @@ func update_column(column : Array, index : int) -> void:
|
|||||||
|
|
||||||
func resize(rows: int, columns: int) -> void:
|
func resize(rows: int, columns: int) -> void:
|
||||||
for row in range(rows):
|
for row in range(rows):
|
||||||
var value_row := []
|
var row_column: Array = []
|
||||||
for column in range(columns):
|
row_column.resize(columns)
|
||||||
value_row.append(null)
|
values.append(row_column)
|
||||||
values.append(value_row)
|
|
||||||
|
|
||||||
func to_array() -> Array:
|
func to_array() -> Array:
|
||||||
return values.duplicate(true)
|
return values.duplicate(true)
|
||||||
|
Loading…
Reference in New Issue
Block a user