diff --git a/Vega/ruff-original.json b/Vega/ruff-original.json
new file mode 100644
index 0000000000..c87ba97968
--- /dev/null
+++ b/Vega/ruff-original.json
@@ -0,0 +1,130 @@
+{
+ "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
+ "data": {
+ "values": [
+ { "tool": "ruff", "time": 0.4693, "timeFormat": "0.46s" },
+ { "tool": "autoflake", "time": 8.027, "timeFormat": "8.03s" },
+ { "tool": "flake8 + spawn", "time": 12.794, "timeFormat": "12.80s" },
+ { "tool": "pylint", "time": 27.211, "timeFormat": "27.21" },
+ { "tool": "pyflakes", "time": 27.309, "timeFormat": "27.31" },
+ { "tool": "pycodestyle", "time": 41.166, "timeFormat": "41.17s" },
+ { "tool": "flake8", "time": 75.7, "timeFormat": "75.70s" }
+ ]
+ },
+ "config": {
+ "params": [
+ {
+ "name": "defaultFont",
+ "value": "-apple-system,BlinkMacSystemFont,\"Segoe UI\",Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\""
+ },
+ { "name": "titleColor", "value": "#333333" },
+ { "name": "labelColor", "value": "#333333" }
+ ],
+ "header": {
+ "labelFont": { "expr": "defaultFont" },
+ "titleFont": { "expr": "defaultFont" },
+ "titleFontWeight": 500
+ },
+ "text": {
+ "font": { "expr": "defaultFont" },
+ "color": { "expr": "labelColor" }
+ },
+ "mark": {
+ "font": { "expr": "defaultFont" },
+ "color": { "expr": "labelColor" }
+ },
+ "title": {
+ "font": { "expr": "defaultFont" },
+ "subtitleFont": { "expr": "defaultFont" },
+ "fontWeight": 500
+ },
+ "axis": {
+ "labelColor": { "expr": "labelColor" },
+ "labelFont": { "expr": "defaultFont" },
+ "titleFont": { "expr": "defaultFont" },
+ "titleFontWeight": 500,
+ "titleColor": { "expr": "titleColor" },
+ "titleFontSize": 12
+ },
+ "legend": {
+ "titleFontWeight": 500,
+ "titleColor": { "expr": "titleColor" },
+ "titleFontSize": 12,
+ "labelColor": { "expr": "labelColor" },
+ "labelFont": { "expr": "defaultFont" },
+ "titleFont": { "expr": "defaultFont" }
+ },
+ "view": { "stroke": null },
+ "background": "transparent"
+ },
+ "background": "transparent",
+ "encoding": {
+ "y": {
+ "field": "tool",
+ "type": "nominal",
+ "axis": {
+ "grid": false,
+ "title": null,
+ "labelFontSize": 12,
+ "ticks": false,
+ "labelPadding": 10,
+ "domain": false
+ },
+ "sort": null
+ },
+ "x": {
+ "field": "time",
+ "type": "quantitative",
+ "axis": {
+ "title": null,
+ "labelExpr": "datum.value + 's'",
+ "tickCount": 3,
+ "tickSize": 0,
+ "labelPadding": 6,
+ "labelAlign": "center",
+ "labelFontSize": 12,
+ "tickColor": "rgba(127,127,127,0.25)",
+ "gridColor": "rgba(127,127,127,0.25)",
+ "domain": false
+ }
+ }
+ },
+ "height": 140,
+ "width": "container",
+ "layer": [
+ {
+ "mark": "bar",
+ "encoding": {
+ "size": { "value": 13 },
+ "color": { "value": "#E15759" }
+ }
+ },
+ {
+ "transform": [{ "filter": "datum.tool !== 'ruff'" }],
+ "mark": {
+ "type": "text",
+ "align": "left",
+ "baseline": "middle",
+ "dx": 6,
+ "fontSize": 12
+ },
+ "encoding": {
+ "text": { "field": "timeFormat" }
+ }
+ },
+ {
+ "transform": [{ "filter": "datum.tool === 'ruff'" }],
+ "mark": {
+ "type": "text",
+ "align": "left",
+ "baseline": "middle",
+ "dx": 6,
+ "fontSize": 12,
+ "fontWeight": "bold"
+ },
+ "encoding": {
+ "text": { "field": "timeFormat" }
+ }
+ }
+ ]
+}
diff --git a/Vega/ruff-rerun.json b/Vega/ruff-rerun.json
new file mode 100644
index 0000000000..cedecf9107
--- /dev/null
+++ b/Vega/ruff-rerun.json
@@ -0,0 +1,131 @@
+{
+ "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
+ "data": {
+ "values": [
+ { "tool": "ruff", "time": 0.2979, "timeFormat": "0.30s" },
+ { "tool": "autoflake", "time": 11.562, "timeFormat": "11.57s" },
+ { "tool": "flake8 + spawn", "time": 20.477, "timeFormat": "20.48s" },
+ { "tool": "pylint", "time": 27.211, "timeFormat": "27.21s" },
+ { "tool": "pyflakes", "time": 27.309, "timeFormat": "27.31s" },
+ { "tool": "pycodestyle", "time": 41.166, "timeFormat": "41.17s" },
+ { "tool": "flake8", "time": 75.7, "timeFormat": "75.70s" }
+ ]
+ },
+ "config": {
+ "padding": 16,
+ "params": [
+ {
+ "name": "defaultFont",
+ "value": "-apple-system,BlinkMacSystemFont,\"Segoe UI\",Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\""
+ },
+ { "name": "titleColor", "value": "#333333" },
+ { "name": "labelColor", "value": "#333333" }
+ ],
+ "header": {
+ "labelFont": { "expr": "defaultFont" },
+ "titleFont": { "expr": "defaultFont" },
+ "titleFontWeight": 500
+ },
+ "text": {
+ "font": { "expr": "defaultFont" },
+ "color": { "expr": "labelColor" }
+ },
+ "mark": {
+ "font": { "expr": "defaultFont" },
+ "color": { "expr": "labelColor" }
+ },
+ "title": {
+ "font": { "expr": "defaultFont" },
+ "subtitleFont": { "expr": "defaultFont" },
+ "fontWeight": 500
+ },
+ "axis": {
+ "labelColor": { "expr": "labelColor" },
+ "labelFont": { "expr": "defaultFont" },
+ "titleFont": { "expr": "defaultFont" },
+ "titleFontWeight": 500,
+ "titleColor": { "expr": "titleColor" },
+ "titleFontSize": 12
+ },
+ "legend": {
+ "titleFontWeight": 500,
+ "titleColor": { "expr": "titleColor" },
+ "titleFontSize": 12,
+ "labelColor": { "expr": "labelColor" },
+ "labelFont": { "expr": "defaultFont" },
+ "titleFont": { "expr": "defaultFont" }
+ },
+ "view": { "stroke": null },
+ "background": "transparent"
+ },
+ "background": "transparent",
+ "encoding": {
+ "y": {
+ "field": "tool",
+ "type": "nominal",
+ "axis": {
+ "grid": false,
+ "title": null,
+ "labelFontSize": 12,
+ "ticks": false,
+ "labelPadding": 10,
+ "domain": false
+ },
+ "sort": null
+ },
+ "x": {
+ "field": "time",
+ "type": "quantitative",
+ "axis": {
+ "title": null,
+ "labelExpr": "datum.value + 's'",
+ "tickCount": 3,
+ "tickSize": 0,
+ "labelPadding": 6,
+ "labelAlign": "center",
+ "labelFontSize": 12,
+ "tickColor": "rgba(127,127,127,0.25)",
+ "gridColor": "rgba(127,127,127,0.25)",
+ "domain": false
+ }
+ }
+ },
+ "height": 180,
+ "width": 360,
+ "layer": [
+ {
+ "mark": "bar",
+ "encoding": {
+ "size": { "value": 16 },
+ "color": { "value": "#E15759" }
+ }
+ },
+ {
+ "transform": [{ "filter": "datum.tool !== 'ruff'" }],
+ "mark": {
+ "type": "text",
+ "align": "left",
+ "baseline": "middle",
+ "dx": 6,
+ "fontSize": 12
+ },
+ "encoding": {
+ "text": { "field": "timeFormat" }
+ }
+ },
+ {
+ "transform": [{ "filter": "datum.tool === 'ruff'" }],
+ "mark": {
+ "type": "text",
+ "align": "left",
+ "baseline": "middle",
+ "dx": 6,
+ "fontSize": 12,
+ "fontWeight": "bold"
+ },
+ "encoding": {
+ "text": { "field": "timeFormat" }
+ }
+ }
+ ]
+}
diff --git a/Vega/visualization (1).png b/Vega/visualization (1).png
new file mode 100644
index 0000000000..5d0a88048d
Binary files /dev/null and b/Vega/visualization (1).png differ
diff --git a/Vega/visualization (1).svg b/Vega/visualization (1).svg
new file mode 100644
index 0000000000..82594ddb34
--- /dev/null
+++ b/Vega/visualization (1).svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Vega/visualization (2).png b/Vega/visualization (2).png
new file mode 100644
index 0000000000..7d36adabd2
Binary files /dev/null and b/Vega/visualization (2).png differ
diff --git a/Vega/visualization (2).svg b/Vega/visualization (2).svg
new file mode 100644
index 0000000000..7ee0053400
--- /dev/null
+++ b/Vega/visualization (2).svg
@@ -0,0 +1 @@
+
diff --git a/Vega/visualization (3).png b/Vega/visualization (3).png
new file mode 100644
index 0000000000..1a4a42976d
Binary files /dev/null and b/Vega/visualization (3).png differ
diff --git a/Vega/visualization (3).svg b/Vega/visualization (3).svg
new file mode 100644
index 0000000000..2b01906474
--- /dev/null
+++ b/Vega/visualization (3).svg
@@ -0,0 +1 @@
+
diff --git a/Vega/visualization (4).png b/Vega/visualization (4).png
new file mode 100644
index 0000000000..1a4a42976d
Binary files /dev/null and b/Vega/visualization (4).png differ
diff --git a/Vega/visualization (4).svg b/Vega/visualization (4).svg
new file mode 100644
index 0000000000..6fe77064d8
--- /dev/null
+++ b/Vega/visualization (4).svg
@@ -0,0 +1 @@
+
diff --git a/Vega/visualization (5).png b/Vega/visualization (5).png
new file mode 100644
index 0000000000..38f5b864ef
Binary files /dev/null and b/Vega/visualization (5).png differ
diff --git a/Vega/visualization (5).svg b/Vega/visualization (5).svg
new file mode 100644
index 0000000000..d123bdfd46
--- /dev/null
+++ b/Vega/visualization (5).svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Vega/visualization (6).png b/Vega/visualization (6).png
new file mode 100644
index 0000000000..8ecd2c356d
Binary files /dev/null and b/Vega/visualization (6).png differ
diff --git a/Vega/visualization (6).svg b/Vega/visualization (6).svg
new file mode 100644
index 0000000000..b2615717a9
--- /dev/null
+++ b/Vega/visualization (6).svg
@@ -0,0 +1 @@
+
diff --git a/Vega/visualization (7).svg b/Vega/visualization (7).svg
new file mode 100644
index 0000000000..9798d1cb28
--- /dev/null
+++ b/Vega/visualization (7).svg
@@ -0,0 +1 @@
+
diff --git a/Vega/visualization.png b/Vega/visualization.png
new file mode 100644
index 0000000000..ffb514f92d
Binary files /dev/null and b/Vega/visualization.png differ
diff --git a/Vega/visualization.svg b/Vega/visualization.svg
new file mode 100644
index 0000000000..3f11c5e697
--- /dev/null
+++ b/Vega/visualization.svg
@@ -0,0 +1 @@
+
\ No newline at end of file