mirror of
https://github.com/Relintai/pandemonium_engine_easy_charts.git
synced 2024-11-14 10:17:24 +01:00
commit
bbc4756327
22
README.md
22
README.md
@ -11,7 +11,8 @@ A library of Charts plotted in Control, 2D and 3D nodes to visualize general pur
|
|||||||
Author: *"Nicolo (fenix) Santilio"*
|
Author: *"Nicolo (fenix) Santilio"*
|
||||||
Version: *0.5.3*
|
Version: *0.5.3*
|
||||||
Wiki: *[wip](https://github.com/fenix-hub/godot-engine.easy-charts/wiki)*
|
Wiki: *[wip](https://github.com/fenix-hub/godot-engine.easy-charts/wiki)*
|
||||||
Godot Version: *3.2stable*
|
Godot Version: *3.2stable*
|
||||||
|
|
||||||
## What is this?
|
## What is this?
|
||||||
*Easy Charts* is a collection of Control, 2D and 3D nodes to plot charts.
|
*Easy Charts* is a collection of Control, 2D and 3D nodes to plot charts.
|
||||||
This plugin was born from the personal necessity to plot some charts and tables for my university degree project.
|
This plugin was born from the personal necessity to plot some charts and tables for my university degree project.
|
||||||
@ -21,37 +22,44 @@ If you need to plot a chart with some values in it and just take a screenshot, o
|
|||||||
![st](imgs/startup_company2.jpg)
|
![st](imgs/startup_company2.jpg)
|
||||||
[*Startup Company*](https://store.steampowered.com/app/606800/Startup_Company/)
|
[*Startup Company*](https://store.steampowered.com/app/606800/Startup_Company/)
|
||||||
![wa](imgs/workplace_analytics.png)
|
![wa](imgs/workplace_analytics.png)
|
||||||
[*Microsoft Workplace Analytics*](https://www.microsoft.com/microsoft-365/partners/workplaceanalytics)
|
[*Microsoft Workplace Analytics*](https://www.microsoft.com/microsoft-365/partners/workplaceanalytics)
|
||||||
|
|
||||||
## How does it work?
|
## How does it work?
|
||||||
There is a [WIKI](https://github.com/fenix-hub/godot-engine.easy-charts/wiki) with some tutorials, even if it is a work in progress.
|
There is a [WIKI](https://github.com/fenix-hub/godot-engine.easy-charts/wiki) with some tutorials, even if it is a work in progress.
|
||||||
I'll make some videos as soon as possible.
|
I'll make some videos as soon as possible.
|
||||||
|
|
||||||
# Available Charts and when to use them
|
# Available Charts and when to use them
|
||||||
This library offers a set of charts for each main Godot Node:
|
This library offers a set of charts for each main Godot Node:
|
||||||
- **Control Nodes:** "Control Charts" are fast Charts that can be plotted in a Control space, such as UIs or Control user interactable areas. They offer basic Control properties, such as Margins, size inheritance and control. No animations, no real time changes, just charts.
|
- **Control Nodes:** "Control Charts" are fast Charts that can be plotted in a Control space, such as UIs or Control user interactable areas. They offer basic Control properties, such as Margins, size inheritance and control. No animations, no real time changes, just charts.
|
||||||
- **2D Nodes:** "2D Charts" are a set of Charts which can be Used in 2D spaces. They offer additional tools, such as animations and real time changes in editor. They can be used to implement more aesthetic charts in 2D contexts.
|
- **2D Nodes:** "2D Charts" are a set of Charts which can be Used in 2D spaces. They offer additional tools, such as animations and real time changes in editor. They can be used to implement more aesthetic charts in 2D contexts.
|
||||||
- **[wip] 3D Nodes:** "3D Charts" are a set of Charts which can be Used in both 2D and 3D spaces. They offer the possibility to plot 3D datasets, which are common in machine learning contexts or just data analysis. A Camera Control will also be available, which can be used to move around the chart.
|
- **[wip] 3D Nodes:** "3D Charts" are a set of Charts which can be Used in both 2D and 3D spaces. They offer the possibility to plot 3D datasets, which are common in machine learning contexts or just data analysis. A Camera Control will also be available, which can be used to move around the chart.
|
||||||
|
|
||||||
### Available Charts
|
### Available Charts
|
||||||
- LineChart [Control, 2D, wip 3D]
|
- LineChart [Control, 2D, wip 3D]
|
||||||
- ColumnChart [Control, 2D, wipr 3D]
|
- ColumnChart [Control, 2D, wipr 3D]
|
||||||
- ScatterChart [wip Control, wip 2D, 3D]
|
- ScatterChart [wip Control, wip 2D, 3D]
|
||||||
- Piechart [Control]
|
- Piechart [Control]
|
||||||
- RadarChart [Control]
|
- RadarChart [Control]
|
||||||
|
|
||||||
### WIP Charts
|
### WIP Charts
|
||||||
- Area Chart
|
- Area Chart
|
||||||
- Donut Chart
|
- Donut Chart
|
||||||
- Bubble Chart
|
- Bubble Chart
|
||||||
- Parliament Chart
|
- Parliament Chart
|
||||||
|
|
||||||
### Some Examples
|
### Some Examples
|
||||||
![example_LineChart_realtime](imgs/real_time_line.gif)
|
![example_LineChart_realtime](imgs/real_time_line.gif)
|
||||||
![example_Piechart](imgs/pie_chart_realtime.gif)
|
![example_Piechart](imgs/pie_chart_realtime.gif)
|
||||||
![exampleradar](imgs/radar.png)
|
![exampleradar](imgs/radar.png)
|
||||||
![example01](imgs/scatter.gif)
|
![example01](imgs/scatter.gif)
|
||||||
![example02](imgs/example02.png)
|
![example02](imgs/example02.png)
|
||||||
![example03](imgs/example03.gif)
|
![example03](imgs/example03.gif)
|
||||||
|
|
||||||
##### Some references for charts and plots
|
##### Some references for charts and plots
|
||||||
[Flourish](https://app.flourish.studio/projects)
|
[Flourish](https://app.flourish.studio/projects)
|
||||||
[Chart.js](https://www.chartjs.org/samples/latest/)
|
[Chart.js](https://www.chartjs.org/samples/latest/)
|
||||||
[Google Charts](https://developers.google.com/chart)
|
[Google Charts](https://developers.google.com/chart)
|
||||||
|
|
||||||
# Disclaimer
|
# Disclaimer
|
||||||
This addon was built for a **personal use** intention. It was released as an open source plugin in the hope that it could be useful to the Godot Engine Community.
|
This addon was built for a **personal use** intention. It was released as an open source plugin in the hope that it could be useful to the Godot Engine Community.
|
||||||
As a "work in progress" project, there is *no warranty* for any eventual issue and bug that may broke your project.
|
As a "work in progress" project, there is *no warranty* for any eventual issue and bug that may broke your project.
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
[node name="PieChart" type="Control"]
|
[node name="PieChart" type="Control"]
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 0.993333
|
anchor_bottom = 0.993333
|
||||||
|
mouse_filter = 1
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": true
|
"_edit_use_anchors_": true
|
||||||
@ -24,10 +25,12 @@ Chart_Modifiers/rotation = 0.0
|
|||||||
visible = false
|
visible = false
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
|
mouse_filter = 1
|
||||||
|
|
||||||
[node name="Points" type="Control" parent="."]
|
[node name="Points" type="Control" parent="."]
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
|
mouse_filter = 1
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
@ -44,6 +47,7 @@ __meta__ = {
|
|||||||
use_parent_material = true
|
use_parent_material = true
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 0.0233333
|
anchor_bottom = 0.0233333
|
||||||
|
mouse_filter = 1
|
||||||
align = 1
|
align = 1
|
||||||
valign = 1
|
valign = 1
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
@ -53,9 +57,9 @@ __meta__ = {
|
|||||||
[node name="PointData" parent="." instance=ExtResource( 2 )]
|
[node name="PointData" parent="." instance=ExtResource( 2 )]
|
||||||
|
|
||||||
[node name="PointData" parent="PointData" index="0"]
|
[node name="PointData" parent="PointData" index="0"]
|
||||||
margin_left = -63.9924
|
margin_left = -375.27
|
||||||
margin_top = -129.716
|
margin_top = -216.457
|
||||||
margin_right = -64.0923
|
margin_right = -375.37
|
||||||
margin_bottom = -128.916
|
margin_bottom = -215.657
|
||||||
|
|
||||||
[editable path="PointData"]
|
[editable path="PointData"]
|
||||||
|
@ -210,10 +210,10 @@ func _draw_areas():
|
|||||||
var mouse_on_area : int
|
var mouse_on_area : int
|
||||||
var mouse_on_slice : bool = false
|
var mouse_on_slice : bool = false
|
||||||
|
|
||||||
func _input(event):
|
func _gui_input(event : InputEvent):
|
||||||
if event is InputEventMouseMotion:
|
if event is InputEventMouseMotion:
|
||||||
for area_idx in range(areas.size()):
|
for area_idx in range(areas.size()):
|
||||||
if Geometry.is_point_in_polygon(event.global_position - rect_position, areas[area_idx]):
|
if Geometry.is_point_in_polygon(event.global_position - get_global_transform().origin, areas[area_idx]):
|
||||||
mouse_on_slice = true
|
mouse_on_slice = true
|
||||||
mouse_on_area = area_idx
|
mouse_on_area = area_idx
|
||||||
show_slice_data(slices[area_idx])
|
show_slice_data(slices[area_idx])
|
||||||
|
Loading…
Reference in New Issue
Block a user