Created
February 24, 2020 16:03
-
-
Save hkmoon/8bbb650103eb3c7cd7a09fbecd27cd62 to your computer and use it in GitHub Desktop.
Translation python data to javascript to visualize
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"from beakerx.object import beakerx" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"from random import random\n", | |
"import math\n", | |
"\n", | |
"data = []\n", | |
"\n", | |
"for i in range(0, 20):\n", | |
" data.append({\"category\": str(i), \"value\": round(random() * 100.)})\n", | |
"\n", | |
"beakerx.data = {'data': data};\n", | |
"# print(data)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"application/javascript": [ | |
"\n", | |
"require.config({\n", | |
" paths: {\n", | |
" d3: '//d3js.org/d3.v4.min',\n", | |
" amchart_core: '//www.amcharts.com/lib/4/core',\n", | |
" amchart_charts: '//www.amcharts.com/lib/4/charts',\n", | |
" 'amcharts4/themes/animated': '//www.amcharts.com/lib/4/themes/animated',\n", | |
" },\n", | |
" shim: {\n", | |
" amchart_core: {\n", | |
" init: function () {\n", | |
" return window.am4core;\n", | |
" }\n", | |
" },\n", | |
" amchart_charts: {\n", | |
" deps: ['amchart_core'],\n", | |
" exports: 'amchart_charts',\n", | |
" init: function () {\n", | |
" return window.am4charts;\n", | |
" }\n", | |
" },\n", | |
" 'amcharts4/themes/animated': {\n", | |
" deps: ['amchart_core'],\n", | |
" init: function () {\n", | |
" return window.am4themes_animated;\n", | |
" }\n", | |
" }\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"element.append('<div id=\"chartdiv\" style=\"height:500px;\"></div>')\n", | |
"\n", | |
"require(['amchart_core', 'amchart_charts', 'amcharts4/themes/animated'], function (am4core, am4charts, am4themes_animated) {\n", | |
" am4core.useTheme(am4themes_animated);\n", | |
" \n", | |
" // Create chart instance\n", | |
" var chart = am4core.create(\"chartdiv\", am4charts.RadarChart);\n", | |
"\n", | |
" chart.scrollbarX = new am4core.Scrollbar();\n", | |
"\n", | |
" let data = beakerx.data.data;\n", | |
" \n", | |
" chart.data = data;\n", | |
" chart.radius = am4core.percent(100);\n", | |
" chart.innerRadius = am4core.percent(50);\n", | |
"\n", | |
" // Create axes\n", | |
" let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n", | |
" categoryAxis.dataFields.category = \"category\";\n", | |
" categoryAxis.renderer.grid.template.location = 0;\n", | |
" categoryAxis.renderer.minGridDistance = 30;\n", | |
" categoryAxis.tooltip.disabled = true;\n", | |
" categoryAxis.renderer.minHeight = 110;\n", | |
" categoryAxis.renderer.grid.template.disabled = true;\n", | |
" \n", | |
" //categoryAxis.renderer.labels.template.disabled = true;\n", | |
" let labelTemplate = categoryAxis.renderer.labels.template;\n", | |
" labelTemplate.radius = am4core.percent(-60);\n", | |
" labelTemplate.location = 0.5;\n", | |
" labelTemplate.relativeRotation = 90;\n", | |
"\n", | |
" let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n", | |
" valueAxis.renderer.grid.template.disabled = true;\n", | |
" valueAxis.renderer.labels.template.disabled = true;\n", | |
" valueAxis.tooltip.disabled = true;\n", | |
"\n", | |
" // Create series\n", | |
" let series = chart.series.push(new am4charts.RadarColumnSeries());\n", | |
" series.sequencedInterpolation = true;\n", | |
" series.dataFields.valueY = \"value\";\n", | |
" series.dataFields.categoryX = \"category\";\n", | |
" series.columns.template.strokeWidth = 0;\n", | |
" series.tooltipText = \"{valueY}\";\n", | |
" series.columns.template.radarColumn.cornerRadius = 10;\n", | |
" series.columns.template.radarColumn.innerCornerRadius = 0;\n", | |
"\n", | |
" series.tooltip.pointerOrientation = \"vertical\";\n", | |
"\n", | |
" // on hover, make corner radiuses bigger\n", | |
" let hoverState = series.columns.template.radarColumn.states.create(\"hover\");\n", | |
" hoverState.properties.cornerRadius = 0;\n", | |
" hoverState.properties.fillOpacity = 1;\n", | |
"\n", | |
"\n", | |
" series.columns.template.adapter.add(\"fill\", function(fill, target) {\n", | |
" return chart.colors.getIndex(target.dataItem.index);\n", | |
" })\n", | |
"\n", | |
" // Cursor\n", | |
" chart.cursor = new am4charts.RadarCursor();\n", | |
" chart.cursor.innerRadius = am4core.percent(50);\n", | |
" chart.cursor.lineY.disabled = true;\n", | |
"}, function (err) {\n", | |
" console.log(err);\n", | |
"});\n" | |
], | |
"text/plain": [ | |
"<IPython.core.display.Javascript object>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"%%javascript\n", | |
"\n", | |
"require.config({\n", | |
" paths: {\n", | |
" d3: '//d3js.org/d3.v4.min',\n", | |
" amchart_core: '//www.amcharts.com/lib/4/core',\n", | |
" amchart_charts: '//www.amcharts.com/lib/4/charts',\n", | |
" 'amcharts4/themes/animated': '//www.amcharts.com/lib/4/themes/animated',\n", | |
" },\n", | |
" shim: {\n", | |
" amchart_core: {\n", | |
" init: function () {\n", | |
" return window.am4core;\n", | |
" }\n", | |
" },\n", | |
" amchart_charts: {\n", | |
" deps: ['amchart_core'],\n", | |
" exports: 'amchart_charts',\n", | |
" init: function () {\n", | |
" return window.am4charts;\n", | |
" }\n", | |
" },\n", | |
" 'amcharts4/themes/animated': {\n", | |
" deps: ['amchart_core'],\n", | |
" init: function () {\n", | |
" return window.am4themes_animated;\n", | |
" }\n", | |
" }\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"element.append('<div id=\"chartdiv\" style=\"height:500px;\"></div>')\n", | |
"\n", | |
"require(['amchart_core', 'amchart_charts', 'amcharts4/themes/animated'], function (am4core, am4charts, am4themes_animated) {\n", | |
" am4core.useTheme(am4themes_animated);\n", | |
" \n", | |
" // Create chart instance\n", | |
" var chart = am4core.create(\"chartdiv\", am4charts.RadarChart);\n", | |
"\n", | |
" chart.scrollbarX = new am4core.Scrollbar();\n", | |
"\n", | |
" let data = beakerx.data.data;\n", | |
" \n", | |
" chart.data = data;\n", | |
" chart.radius = am4core.percent(100);\n", | |
" chart.innerRadius = am4core.percent(50);\n", | |
"\n", | |
" // Create axes\n", | |
" let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n", | |
" categoryAxis.dataFields.category = \"category\";\n", | |
" categoryAxis.renderer.grid.template.location = 0;\n", | |
" categoryAxis.renderer.minGridDistance = 30;\n", | |
" categoryAxis.tooltip.disabled = true;\n", | |
" categoryAxis.renderer.minHeight = 110;\n", | |
" categoryAxis.renderer.grid.template.disabled = true;\n", | |
" \n", | |
" //categoryAxis.renderer.labels.template.disabled = true;\n", | |
" let labelTemplate = categoryAxis.renderer.labels.template;\n", | |
" labelTemplate.radius = am4core.percent(-60);\n", | |
" labelTemplate.location = 0.5;\n", | |
" labelTemplate.relativeRotation = 90;\n", | |
"\n", | |
" let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n", | |
" valueAxis.renderer.grid.template.disabled = true;\n", | |
" valueAxis.renderer.labels.template.disabled = true;\n", | |
" valueAxis.tooltip.disabled = true;\n", | |
"\n", | |
" // Create series\n", | |
" let series = chart.series.push(new am4charts.RadarColumnSeries());\n", | |
" series.sequencedInterpolation = true;\n", | |
" series.dataFields.valueY = \"value\";\n", | |
" series.dataFields.categoryX = \"category\";\n", | |
" series.columns.template.strokeWidth = 0;\n", | |
" series.tooltipText = \"{valueY}\";\n", | |
" series.columns.template.radarColumn.cornerRadius = 10;\n", | |
" series.columns.template.radarColumn.innerCornerRadius = 0;\n", | |
"\n", | |
" series.tooltip.pointerOrientation = \"vertical\";\n", | |
"\n", | |
" // on hover, make corner radiuses bigger\n", | |
" let hoverState = series.columns.template.radarColumn.states.create(\"hover\");\n", | |
" hoverState.properties.cornerRadius = 0;\n", | |
" hoverState.properties.fillOpacity = 1;\n", | |
"\n", | |
"\n", | |
" series.columns.template.adapter.add(\"fill\", function(fill, target) {\n", | |
" return chart.colors.getIndex(target.dataItem.index);\n", | |
" })\n", | |
"\n", | |
" // Cursor\n", | |
" chart.cursor = new am4charts.RadarCursor();\n", | |
" chart.cursor.innerRadius = am4core.percent(50);\n", | |
" chart.cursor.lineY.disabled = true;\n", | |
"}, function (err) {\n", | |
" console.log(err);\n", | |
"});" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.6.8" | |
}, | |
"toc": { | |
"base_numbering": 1, | |
"nav_menu": {}, | |
"number_sections": false, | |
"sideBar": false, | |
"skip_h1_title": false, | |
"title_cell": "Table of Contents", | |
"title_sidebar": "Contents", | |
"toc_cell": false, | |
"toc_position": {}, | |
"toc_section_display": false, | |
"toc_window_display": false | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment