579 lines
20 KiB
Plaintext
579 lines
20 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"scrolled": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"import pymysql\n",
|
|
"import pyecharts\n",
|
|
"from datetime import datetime\n",
|
|
"\n",
|
|
"db = pymysql.connect(\"localhost\",\"songyi\",\"yylzs\",\"mydata\" )\n",
|
|
"cursor = db.cursor()\n",
|
|
"item_id =1\n",
|
|
"per_id = 1\n",
|
|
"list_date = []\n",
|
|
"dict_tar = {}\n",
|
|
"dict_det = {}\n",
|
|
"dict_date = {}\n",
|
|
"## 获取项目信息\n",
|
|
"sql = \"select a.id,a.name,a.unit from sports_target as a,sports_item_target as b where b.item_id =%s and a.id =b.target_id\"\n",
|
|
"cursor.execute(sql, (item_id))\n",
|
|
"results = cursor.fetchall()\n",
|
|
"for result in results:\n",
|
|
" dict_tar[result[0]] = [result[1],result[2]]\n",
|
|
"## 获取运动记录信息\n",
|
|
"sql = \"select id,re_date from sports_record where item_id =%s and person_id =%s\"\n",
|
|
"cursor.execute(sql, (item_id,per_id))\n",
|
|
"results = cursor.fetchall()\n",
|
|
"for result in results:\n",
|
|
" list_date.append(result[0])\n",
|
|
" dict_date[result[0]] = result[1].strftime(\"%Y-%m-%d\")\n",
|
|
"s_date = '' \n",
|
|
"sql = \"select rec_id_id,target_id_id,value from sports_detail where rec_id_id in {}\".format(tuple(list_date))\n",
|
|
"cursor.execute(sql)\n",
|
|
"results = cursor.fetchall()\n",
|
|
"for s in list_date:\n",
|
|
" dict_det[dict_date[s]] = {}\n",
|
|
"for result in results:\n",
|
|
" s = result[0]\n",
|
|
" dict_det[dict_date[s]][result[1]] = result[2]\n",
|
|
"#print(dict_det)\n",
|
|
"\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#柱状、曲线组合\n",
|
|
"from pyecharts.globals import CurrentConfig, NotebookType\n",
|
|
"CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB\n",
|
|
"from pyecharts import options as opts\n",
|
|
"from pyecharts.charts import Bar,Line\n",
|
|
"import pyecharts.options as opts\n",
|
|
"x_data = []\n",
|
|
"y_data1 = []\n",
|
|
"y_data2 = []\n",
|
|
"y_data3 = []\n",
|
|
"for key,value in dict_det.items():\n",
|
|
" x_data.append(key)\n",
|
|
" y_data1.append(value[8])\n",
|
|
" y_data2.append(value[9])\n",
|
|
" y_data3.append(value[2])\n",
|
|
"bar = (\n",
|
|
" Bar()\n",
|
|
" .add_xaxis(x_data)\n",
|
|
" .add_yaxis(\"平均心率\", y_data1,label_opts=opts.LabelOpts(is_show=False),gap=\"0%\")\n",
|
|
" .add_yaxis(\"最大心率\", y_data2,label_opts=opts.LabelOpts(is_show=False),gap=\"0%\") \n",
|
|
" .extend_axis(\n",
|
|
" yaxis=opts.AxisOpts(\n",
|
|
" name=\"运动时间\",\n",
|
|
" type_=\"value\",\n",
|
|
" min_=min(y_data3),\n",
|
|
" max_=max(y_data3),\n",
|
|
" interval=int((max(y_data3)-min(y_data3))/4),\n",
|
|
" axislabel_opts=opts.LabelOpts(formatter=\"{value} 分\"),\n",
|
|
" )\n",
|
|
" )\n",
|
|
" .set_global_opts(\n",
|
|
" tooltip_opts=opts.TooltipOpts(\n",
|
|
" is_show=True, trigger=\"axis\", axis_pointer_type=\"cross\"\n",
|
|
" ),\n",
|
|
" xaxis_opts=opts.AxisOpts(\n",
|
|
" type_=\"category\",\n",
|
|
" axispointer_opts=opts.AxisPointerOpts(is_show=True, type_=\"shadow\"),\n",
|
|
" ),\n",
|
|
" yaxis_opts=opts.AxisOpts(\n",
|
|
" name=\"心率\",\n",
|
|
" type_=\"value\",\n",
|
|
" min_=100,\n",
|
|
" max_=180,\n",
|
|
" interval=20,\n",
|
|
" axislabel_opts=opts.LabelOpts(formatter=\"{value} 次/分钟\"),\n",
|
|
" axistick_opts=opts.AxisTickOpts(is_show=True),\n",
|
|
" splitline_opts=opts.SplitLineOpts(is_show=True),\n",
|
|
" ),\n",
|
|
" )\n",
|
|
" .set_global_opts(title_opts=opts.TitleOpts(title=\"运动心率\", subtitle=\"户外运动\"),)\n",
|
|
")\n",
|
|
"line = (\n",
|
|
" Line()\n",
|
|
" .add_xaxis(xaxis_data=x_data)\n",
|
|
" .add_yaxis(\n",
|
|
" series_name=\"运动时间\",\n",
|
|
" yaxis_index=1,\n",
|
|
" y_axis=y_data3,\n",
|
|
" label_opts=opts.LabelOpts(is_show=False),\n",
|
|
" )\n",
|
|
")\n",
|
|
"\n",
|
|
"bar.overlap(line).load_javascript()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"bar.overlap(line).render_notebook()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#Grid - Grid_vertical多图组合\n",
|
|
"from pyecharts.globals import CurrentConfig, NotebookType\n",
|
|
"CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB\n",
|
|
"from pyecharts import options as opts\n",
|
|
"from pyecharts.charts import Bar, Grid\n",
|
|
"import pyecharts.options as opts\n",
|
|
"\n",
|
|
"x_data = []\n",
|
|
"y_data1 = []\n",
|
|
"y_data2 = []\n",
|
|
"y_data3 = []\n",
|
|
"y_data4 = []\n",
|
|
"for key,value in dict_det.items():\n",
|
|
" x_data.append(key)\n",
|
|
" y_data1.append(value[8])\n",
|
|
" y_data2.append(value[9])\n",
|
|
" y_data3.append(value[6])\n",
|
|
" y_data4.append(value[5])\n",
|
|
"bar1 = (\n",
|
|
" Bar()\n",
|
|
" .add_xaxis(x_data)\n",
|
|
" .add_yaxis(\"平均心率\", y_data1,label_opts=opts.LabelOpts(is_show=False),gap=\"0%\")\n",
|
|
" .add_yaxis(\"最大心率\", y_data2,label_opts=opts.LabelOpts(is_show=False),gap=\"0%\") \n",
|
|
" .set_global_opts(\n",
|
|
" tooltip_opts=opts.TooltipOpts(\n",
|
|
" is_show=True, trigger=\"axis\", axis_pointer_type=\"cross\"\n",
|
|
" ),\n",
|
|
" xaxis_opts=opts.AxisOpts(\n",
|
|
" type_=\"category\",\n",
|
|
" axispointer_opts=opts.AxisPointerOpts(is_show=True, type_=\"shadow\"),\n",
|
|
" ),\n",
|
|
" yaxis_opts=opts.AxisOpts(\n",
|
|
" name=\"心率\",\n",
|
|
" type_=\"value\",\n",
|
|
" min_=100,\n",
|
|
" max_=180,\n",
|
|
" interval=20,\n",
|
|
" axislabel_opts=opts.LabelOpts(formatter=\"{value} 次/分钟\"),\n",
|
|
" axistick_opts=opts.AxisTickOpts(is_show=True),\n",
|
|
" splitline_opts=opts.SplitLineOpts(is_show=True),\n",
|
|
" ),\n",
|
|
" )\n",
|
|
" .set_global_opts(title_opts=opts.TitleOpts(title=\"运动心率\", subtitle=\"户外运动\"),)\n",
|
|
")\n",
|
|
"bar2 = (\n",
|
|
" Bar()\n",
|
|
" .add_xaxis(x_data)\n",
|
|
" .add_yaxis(\"平均步幅\", y_data3,label_opts=opts.LabelOpts(is_show=False),gap=\"0%\")\n",
|
|
" .add_yaxis(\"平均步频\", y_data4,label_opts=opts.LabelOpts(is_show=False),gap=\"0%\") \n",
|
|
" .set_global_opts(\n",
|
|
" tooltip_opts=opts.TooltipOpts(\n",
|
|
" is_show=True, trigger=\"axis\", axis_pointer_type=\"cross\"\n",
|
|
" ),\n",
|
|
" xaxis_opts=opts.AxisOpts(\n",
|
|
" type_=\"category\",\n",
|
|
" axispointer_opts=opts.AxisPointerOpts(is_show=True, type_=\"shadow\"),\n",
|
|
" ),\n",
|
|
" yaxis_opts=opts.AxisOpts(\n",
|
|
" name=\"心率\",\n",
|
|
" type_=\"value\",\n",
|
|
" min_=40,\n",
|
|
" max_=180,\n",
|
|
" interval=20,\n",
|
|
" axislabel_opts=opts.LabelOpts(formatter=\"{value} \"),\n",
|
|
" axistick_opts=opts.AxisTickOpts(is_show=True),\n",
|
|
" splitline_opts=opts.SplitLineOpts(is_show=True),\n",
|
|
" ),\n",
|
|
" )\n",
|
|
" .set_global_opts(\n",
|
|
" title_opts=opts.TitleOpts(title=\"运动步频\", pos_top=\"48%\"),\n",
|
|
" legend_opts=opts.LegendOpts(pos_top=\"48%\"),\n",
|
|
" )\n",
|
|
")\n",
|
|
"grid = (\n",
|
|
" Grid()\n",
|
|
" .add(bar1, grid_opts=opts.GridOpts(pos_bottom=\"60%\"))\n",
|
|
" .add(bar2, grid_opts=opts.GridOpts(pos_top=\"60%\"))\n",
|
|
" \n",
|
|
")\n",
|
|
"grid.load_javascript()\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"grid.render_notebook()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 45,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/javascript": [
|
|
"new Promise(function(resolve, reject) {\n",
|
|
" var script = document.createElement(\"script\");\n",
|
|
" script.onload = resolve;\n",
|
|
" script.onerror = reject;\n",
|
|
" script.src = \"https://assets.pyecharts.org/assets/echarts.min.js\";\n",
|
|
" document.head.appendChild(script);\n",
|
|
"}).then(() => {\n",
|
|
"\n",
|
|
"});"
|
|
],
|
|
"text/plain": [
|
|
"<pyecharts.render.display.Javascript at 0x7fc0c5da81f0>"
|
|
]
|
|
},
|
|
"execution_count": 45,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"from pyecharts import options as opts\n",
|
|
"from pyecharts.globals import CurrentConfig, NotebookType\n",
|
|
"CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB\n",
|
|
"from pyecharts.charts import Bar\n",
|
|
"from pyecharts.globals import ThemeType\n",
|
|
"from pyecharts.faker import Faker\n",
|
|
"c = (\n",
|
|
" Bar(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE))\n",
|
|
" # 等价于 Bar(init_opts=opts.InitOpts(theme=ThemeType.WHITE))\n",
|
|
" .add_xaxis(Faker.choose())\n",
|
|
" .add_yaxis(\"商家A\", Faker.values())\n",
|
|
" .add_yaxis(\"商家B\", Faker.values())\n",
|
|
" .add_yaxis(\"商家C\", Faker.values())\n",
|
|
" .add_yaxis(\"商家D\", Faker.values())\n",
|
|
" .set_global_opts(title_opts=opts.TitleOpts(\"Theme-default\"))\n",
|
|
" )\n",
|
|
"c.load_javascript()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 46,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<!DOCTYPE html>\n",
|
|
"<html>\n",
|
|
"<head>\n",
|
|
" <meta charset=\"UTF-8\">\n",
|
|
"</head>\n",
|
|
"<body>\n",
|
|
" <div id=\"d0daab07c02a46259dfdf1bc28f2125e\" class=\"chart-container\" style=\"width:900px; height:500px;\"></div>\n",
|
|
" <script>\n",
|
|
" var chart_d0daab07c02a46259dfdf1bc28f2125e = echarts.init(\n",
|
|
" document.getElementById('d0daab07c02a46259dfdf1bc28f2125e'), 'vintage', {renderer: 'canvas'});\n",
|
|
" var option_d0daab07c02a46259dfdf1bc28f2125e = {\n",
|
|
" \"animation\": true,\n",
|
|
" \"animationThreshold\": 2000,\n",
|
|
" \"animationDuration\": 1000,\n",
|
|
" \"animationEasing\": \"cubicOut\",\n",
|
|
" \"animationDelay\": 0,\n",
|
|
" \"animationDurationUpdate\": 300,\n",
|
|
" \"animationEasingUpdate\": \"cubicOut\",\n",
|
|
" \"animationDelayUpdate\": 0,\n",
|
|
" \"series\": [\n",
|
|
" {\n",
|
|
" \"type\": \"bar\",\n",
|
|
" \"name\": \"\\u5546\\u5bb6A\",\n",
|
|
" \"legendHoverLink\": true,\n",
|
|
" \"data\": [\n",
|
|
" 82,\n",
|
|
" 82,\n",
|
|
" 31,\n",
|
|
" 51,\n",
|
|
" 91,\n",
|
|
" 108,\n",
|
|
" 87\n",
|
|
" ],\n",
|
|
" \"showBackground\": false,\n",
|
|
" \"barMinHeight\": 0,\n",
|
|
" \"barCategoryGap\": \"20%\",\n",
|
|
" \"barGap\": \"30%\",\n",
|
|
" \"large\": false,\n",
|
|
" \"largeThreshold\": 400,\n",
|
|
" \"seriesLayoutBy\": \"column\",\n",
|
|
" \"datasetIndex\": 0,\n",
|
|
" \"clip\": true,\n",
|
|
" \"zlevel\": 0,\n",
|
|
" \"z\": 2,\n",
|
|
" \"label\": {\n",
|
|
" \"show\": true,\n",
|
|
" \"position\": \"top\",\n",
|
|
" \"margin\": 8\n",
|
|
" }\n",
|
|
" },\n",
|
|
" {\n",
|
|
" \"type\": \"bar\",\n",
|
|
" \"name\": \"\\u5546\\u5bb6B\",\n",
|
|
" \"legendHoverLink\": true,\n",
|
|
" \"data\": [\n",
|
|
" 85,\n",
|
|
" 118,\n",
|
|
" 139,\n",
|
|
" 133,\n",
|
|
" 132,\n",
|
|
" 116,\n",
|
|
" 35\n",
|
|
" ],\n",
|
|
" \"showBackground\": false,\n",
|
|
" \"barMinHeight\": 0,\n",
|
|
" \"barCategoryGap\": \"20%\",\n",
|
|
" \"barGap\": \"30%\",\n",
|
|
" \"large\": false,\n",
|
|
" \"largeThreshold\": 400,\n",
|
|
" \"seriesLayoutBy\": \"column\",\n",
|
|
" \"datasetIndex\": 0,\n",
|
|
" \"clip\": true,\n",
|
|
" \"zlevel\": 0,\n",
|
|
" \"z\": 2,\n",
|
|
" \"label\": {\n",
|
|
" \"show\": true,\n",
|
|
" \"position\": \"top\",\n",
|
|
" \"margin\": 8\n",
|
|
" }\n",
|
|
" },\n",
|
|
" {\n",
|
|
" \"type\": \"bar\",\n",
|
|
" \"name\": \"\\u5546\\u5bb6C\",\n",
|
|
" \"legendHoverLink\": true,\n",
|
|
" \"data\": [\n",
|
|
" 119,\n",
|
|
" 46,\n",
|
|
" 149,\n",
|
|
" 83,\n",
|
|
" 111,\n",
|
|
" 108,\n",
|
|
" 72\n",
|
|
" ],\n",
|
|
" \"showBackground\": false,\n",
|
|
" \"barMinHeight\": 0,\n",
|
|
" \"barCategoryGap\": \"20%\",\n",
|
|
" \"barGap\": \"30%\",\n",
|
|
" \"large\": false,\n",
|
|
" \"largeThreshold\": 400,\n",
|
|
" \"seriesLayoutBy\": \"column\",\n",
|
|
" \"datasetIndex\": 0,\n",
|
|
" \"clip\": true,\n",
|
|
" \"zlevel\": 0,\n",
|
|
" \"z\": 2,\n",
|
|
" \"label\": {\n",
|
|
" \"show\": true,\n",
|
|
" \"position\": \"top\",\n",
|
|
" \"margin\": 8\n",
|
|
" }\n",
|
|
" },\n",
|
|
" {\n",
|
|
" \"type\": \"bar\",\n",
|
|
" \"name\": \"\\u5546\\u5bb6D\",\n",
|
|
" \"legendHoverLink\": true,\n",
|
|
" \"data\": [\n",
|
|
" 60,\n",
|
|
" 80,\n",
|
|
" 106,\n",
|
|
" 68,\n",
|
|
" 54,\n",
|
|
" 57,\n",
|
|
" 92\n",
|
|
" ],\n",
|
|
" \"showBackground\": false,\n",
|
|
" \"barMinHeight\": 0,\n",
|
|
" \"barCategoryGap\": \"20%\",\n",
|
|
" \"barGap\": \"30%\",\n",
|
|
" \"large\": false,\n",
|
|
" \"largeThreshold\": 400,\n",
|
|
" \"seriesLayoutBy\": \"column\",\n",
|
|
" \"datasetIndex\": 0,\n",
|
|
" \"clip\": true,\n",
|
|
" \"zlevel\": 0,\n",
|
|
" \"z\": 2,\n",
|
|
" \"label\": {\n",
|
|
" \"show\": true,\n",
|
|
" \"position\": \"top\",\n",
|
|
" \"margin\": 8\n",
|
|
" }\n",
|
|
" }\n",
|
|
" ],\n",
|
|
" \"legend\": [\n",
|
|
" {\n",
|
|
" \"data\": [\n",
|
|
" \"\\u5546\\u5bb6A\",\n",
|
|
" \"\\u5546\\u5bb6B\",\n",
|
|
" \"\\u5546\\u5bb6C\",\n",
|
|
" \"\\u5546\\u5bb6D\"\n",
|
|
" ],\n",
|
|
" \"selected\": {\n",
|
|
" \"\\u5546\\u5bb6A\": true,\n",
|
|
" \"\\u5546\\u5bb6B\": true,\n",
|
|
" \"\\u5546\\u5bb6C\": true,\n",
|
|
" \"\\u5546\\u5bb6D\": true\n",
|
|
" },\n",
|
|
" \"show\": true,\n",
|
|
" \"padding\": 5,\n",
|
|
" \"itemGap\": 10,\n",
|
|
" \"itemWidth\": 25,\n",
|
|
" \"itemHeight\": 14\n",
|
|
" }\n",
|
|
" ],\n",
|
|
" \"tooltip\": {\n",
|
|
" \"show\": true,\n",
|
|
" \"trigger\": \"item\",\n",
|
|
" \"triggerOn\": \"mousemove|click\",\n",
|
|
" \"axisPointer\": {\n",
|
|
" \"type\": \"line\"\n",
|
|
" },\n",
|
|
" \"showContent\": true,\n",
|
|
" \"alwaysShowContent\": false,\n",
|
|
" \"showDelay\": 0,\n",
|
|
" \"hideDelay\": 100,\n",
|
|
" \"textStyle\": {\n",
|
|
" \"fontSize\": 14\n",
|
|
" },\n",
|
|
" \"borderWidth\": 0,\n",
|
|
" \"padding\": 5\n",
|
|
" },\n",
|
|
" \"xAxis\": [\n",
|
|
" {\n",
|
|
" \"show\": true,\n",
|
|
" \"scale\": false,\n",
|
|
" \"nameLocation\": \"end\",\n",
|
|
" \"nameGap\": 15,\n",
|
|
" \"gridIndex\": 0,\n",
|
|
" \"inverse\": false,\n",
|
|
" \"offset\": 0,\n",
|
|
" \"splitNumber\": 5,\n",
|
|
" \"minInterval\": 0,\n",
|
|
" \"splitLine\": {\n",
|
|
" \"show\": false,\n",
|
|
" \"lineStyle\": {\n",
|
|
" \"show\": true,\n",
|
|
" \"width\": 1,\n",
|
|
" \"opacity\": 1,\n",
|
|
" \"curveness\": 0,\n",
|
|
" \"type\": \"solid\"\n",
|
|
" }\n",
|
|
" },\n",
|
|
" \"data\": [\n",
|
|
" \"\\u886c\\u886b\",\n",
|
|
" \"\\u6bdb\\u8863\",\n",
|
|
" \"\\u9886\\u5e26\",\n",
|
|
" \"\\u88e4\\u5b50\",\n",
|
|
" \"\\u98ce\\u8863\",\n",
|
|
" \"\\u9ad8\\u8ddf\\u978b\",\n",
|
|
" \"\\u889c\\u5b50\"\n",
|
|
" ]\n",
|
|
" }\n",
|
|
" ],\n",
|
|
" \"yAxis\": [\n",
|
|
" {\n",
|
|
" \"show\": true,\n",
|
|
" \"scale\": false,\n",
|
|
" \"nameLocation\": \"end\",\n",
|
|
" \"nameGap\": 15,\n",
|
|
" \"gridIndex\": 0,\n",
|
|
" \"inverse\": false,\n",
|
|
" \"offset\": 0,\n",
|
|
" \"splitNumber\": 5,\n",
|
|
" \"minInterval\": 0,\n",
|
|
" \"splitLine\": {\n",
|
|
" \"show\": false,\n",
|
|
" \"lineStyle\": {\n",
|
|
" \"show\": true,\n",
|
|
" \"width\": 1,\n",
|
|
" \"opacity\": 1,\n",
|
|
" \"curveness\": 0,\n",
|
|
" \"type\": \"solid\"\n",
|
|
" }\n",
|
|
" }\n",
|
|
" }\n",
|
|
" ],\n",
|
|
" \"title\": [\n",
|
|
" {\n",
|
|
" \"text\": \"Theme-default\",\n",
|
|
" \"padding\": 5,\n",
|
|
" \"itemGap\": 10\n",
|
|
" }\n",
|
|
" ]\n",
|
|
"};\n",
|
|
" chart_d0daab07c02a46259dfdf1bc28f2125e.setOption(option_d0daab07c02a46259dfdf1bc28f2125e);\n",
|
|
" </script>\n",
|
|
"</body>\n",
|
|
"</html>\n"
|
|
],
|
|
"text/plain": [
|
|
"<pyecharts.render.display.HTML at 0x7fc0c5e35c10>"
|
|
]
|
|
},
|
|
"execution_count": 46,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"c.render_notebook()"
|
|
]
|
|
},
|
|
{
|
|
"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.8.5"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|