Skip to content

Commit f5fcc4b

Browse files
authored
Merge pull request #20 from nicolaskruchten/px
switch from graph_objects to px
2 parents 63e67be + f618b14 commit f5fcc4b

File tree

2 files changed

+65
-147
lines changed

2 files changed

+65
-147
lines changed

Examples.ipynb

Lines changed: 63 additions & 146 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"\n",
1919
"from plotly import figure_factory\n",
2020
"from plotly import graph_objects\n",
21-
"import plotly.io as pio\n",
21+
"import plotly.express as px\n",
2222
"from IPython.core.magic import Magics, magics_class, cell_magic\n",
2323
"\n",
2424
"from IPython.display import Image\n",
@@ -44,11 +44,10 @@
4444
") # for plotnine\n",
4545
"\n",
4646
"\n",
47-
"fig = graph_objects.Figure(layout = dict(width=100, height=100))\n",
48-
"\n",
49-
"templated_fig = pio.to_templated(fig)\n",
50-
"pio.templates['my_template'] = templated_fig.layout.template\n",
51-
"pio.templates.default = 'my_template'\n",
47+
"import plotly.io as pio\n",
48+
"pio.renderers.default = \"png\"\n",
49+
"pio.renderers[\"png\"].width = 750\n",
50+
"pio.renderers[\"png\"].height = 750\n",
5251
"\n",
5352
"alt.renderers.enable('png', webdriver='firefox')"
5453
]
@@ -286,17 +285,10 @@
286285
},
287286
"outputs": [],
288287
"source": [
289-
"mpgGrouped = mpg.groupby('manufacturer').size()\n",
290-
"fig = graph_objects.Figure(layout={'title' : 'Number of Cars by Make'})\n",
291-
"bar = graph_objects.Bar({\n",
292-
" 'type' : 'bar',\n",
293-
" 'x' : mpgGrouped.values.tolist(),\n",
294-
" 'y' : mpgGrouped.index.tolist(),\n",
295-
" 'orientation' : 'h'\n",
296-
" \n",
297-
" })\n",
298-
"fig.add_trace(bar)\n",
299-
"Image(fig.to_image(format=\"png\", width=900, height=900))"
288+
"px.histogram(\n",
289+
" mpg, y=\"manufacturer\", \n",
290+
" title='Number of Cars by Make'\n",
291+
")"
300292
]
301293
},
302294
{
@@ -410,13 +402,9 @@
410402
},
411403
"outputs": [],
412404
"source": [
413-
"fig = graph_objects.Figure()\n",
414-
"hist = graph_objects.Histogram({\n",
415-
" 'type' : 'histogram',\n",
416-
" 'x' : mpg['cty'],\n",
417-
"})\n",
418-
"fig.add_trace(hist)\n",
419-
"Image(fig.to_image(format=\"png\", width=900, height=900))"
405+
"px.histogram(\n",
406+
" mpg, x=\"cty\"\n",
407+
")"
420408
]
421409
},
422410
{
@@ -547,23 +535,13 @@
547535
},
548536
"outputs": [],
549537
"source": [
550-
"fig = graph_objects.Figure(layout={\n",
551-
" 'title' : 'Engine Displacement in Liters vs Highway MPG',\n",
552-
" 'xaxis' : {\n",
553-
" 'title' : 'Engine Displacement in Liters'\n",
554-
" },\n",
555-
" 'yaxis' : {\n",
556-
" 'title' : 'Highway MPG'\n",
557-
" }\n",
558-
"})\n",
559-
"scatter = graph_objects.Scatter({\n",
560-
" 'type' : 'scatter',\n",
561-
" 'mode' : 'markers',\n",
562-
" 'x' : mpg.displ,\n",
563-
" 'y' : mpg.hwy \n",
564-
"})\n",
565-
"fig.add_trace(scatter)\n",
566-
"Image(fig.to_image(format=\"png\", width=900, height=900))"
538+
"px.scatter(\n",
539+
" mpg, x=\"displ\", y=\"hwy\", \n",
540+
" title='Engine Displacement in Liters vs Highway MPG',\n",
541+
" labels=dict(\n",
542+
" displ='Engine Displacement in Liters', \n",
543+
" hwy='Highway MPG')\n",
544+
")"
567545
]
568546
},
569547
{
@@ -702,7 +680,7 @@
702680
"fig.add_trace(p2)\n",
703681
"fig.add_trace(p3)\n",
704682
"fig.add_trace(p4)\n",
705-
"Image(fig.to_image(format=\"png\", width=900, height=900))"
683+
"Image(fig.to_image(format=\"png\", width=750, height=750))"
706684
]
707685
},
708686
{
@@ -841,27 +819,13 @@
841819
},
842820
"outputs": [],
843821
"source": [
844-
"traces = []\n",
845-
"for cls in mpg[\"class\"].unique():\n",
846-
" traces.append(\n",
847-
" graph_objects.Scatter(\n",
848-
" {\n",
849-
" \"mode\": \"markers\",\n",
850-
" \"x\": mpg.displ[mpg[\"class\"] == cls],\n",
851-
" \"y\": mpg.hwy[mpg[\"class\"] == cls],\n",
852-
" \"name\": cls,\n",
853-
" }\n",
854-
" )\n",
855-
" )\n",
856-
"fig = graph_objects.Figure(\n",
857-
" layout={\n",
858-
" \"title\": \"Engine Displacement in Liters vs Highway MPG\",\n",
859-
" \"xaxis\": {\"title\": \"Engine Displacement in Liters\",},\n",
860-
" \"yaxis\": {\"title\": \"Highway MPG\"},\n",
861-
" },\n",
862-
" data=traces,\n",
863-
")\n",
864-
"Image(fig.to_image(format=\"png\", width=900, height=900))"
822+
"px.scatter(\n",
823+
" mpg, x=\"displ\", y=\"hwy\", color=\"class\", \n",
824+
" title='Engine Displacement in Liters vs Highway MPG',\n",
825+
" labels=dict(\n",
826+
" displ='Engine Displacement in Liters', \n",
827+
" hwy='Highway MPG')\n",
828+
")"
865829
]
866830
},
867831
{
@@ -904,7 +868,7 @@
904868
"(\n",
905869
" alt.Chart(\n",
906870
" mpg,\n",
907-
" title=\"Engine Displacement in Liters vs Highway MPG\",\n",
871+
" title=\"City MPG vs Highway MPG\",\n",
908872
" )\n",
909873
" .mark_circle(opacity=0.3)\n",
910874
" .encode(\n",
@@ -942,8 +906,8 @@
942906
" y='hwy', \n",
943907
" s=10*mpg['cyl'],\n",
944908
" alpha=.5))\n",
945-
"ax.set_title('Engine Displacement in Liters vs Highway MPG')\n",
946-
"ax.set_xlabel('Engine Displacement in Liters')\n",
909+
"ax.set_title('City MPG vs Highway MPG')\n",
910+
"ax.set_xlabel('City MPG')\n",
947911
"ax.set_ylabel('Highway MPG');"
948912
]
949913
},
@@ -976,29 +940,12 @@
976940
},
977941
"outputs": [],
978942
"source": [
979-
"traces = [\n",
980-
" graph_objects.Scatter(\n",
981-
" {\n",
982-
" \"mode\": \"markers\",\n",
983-
" \"x\": mpg.cty,\n",
984-
" \"y\": mpg.hwy,\n",
985-
" \"marker\": {\"size\": mpg.cyl, \"color\": \"rgba(54,54,54,0.5)\"},\n",
986-
" \"name\": cls,\n",
987-
" }\n",
988-
" )\n",
989-
"]\n",
990-
"\n",
991-
"fig = graph_objects.Figure(\n",
992-
" **{\n",
993-
" \"data\": traces,\n",
994-
" \"layout\": {\n",
995-
" \"title\": \"Engine Displacement in Liters vs Highway MPG\",\n",
996-
" \"xaxis\": {\"title\": \"Engine Displacement in Liters\",},\n",
997-
" \"yaxis\": {\"title\": \"Highway MPG\"},\n",
998-
" },\n",
999-
" }\n",
1000-
")\n",
1001-
"Image(fig.to_image(format=\"png\", width=900, height=900))"
943+
"px.scatter(\n",
944+
" mpg, x=\"cty\", y=\"hwy\", \n",
945+
" size=\"cyl\", size_max=10,\n",
946+
" title='City MPG vs Highway MPG',\n",
947+
" labels=dict(cty='City MPG', hwy='Highway MPG')\n",
948+
")"
1002949
]
1003950
},
1004951
{
@@ -1099,8 +1046,10 @@
10991046
},
11001047
"outputs": [],
11011048
"source": [
1102-
"fig = figure_factory.create_facet_grid(df=mpg, x=\"displ\", y=\"cty\", facet_col=\"class\")\n",
1103-
"Image(fig.to_image(format=\"png\", width=900, height=900))"
1049+
"px.scatter(\n",
1050+
" mpg, x=\"displ\", y=\"hwy\", \n",
1051+
" facet_col=\"class\", facet_col_wrap=4\n",
1052+
")"
11041053
]
11051054
},
11061055
{
@@ -1205,14 +1154,11 @@
12051154
},
12061155
"outputs": [],
12071156
"source": [
1208-
"fig = figure_factory.create_facet_grid(\n",
1209-
" df=mpg, \n",
1210-
" x=\"displ\", \n",
1211-
" y=\"cty\", \n",
1212-
" facet_col=\"cyl\", \n",
1213-
" facet_row=\"drv\"\n",
1214-
")\n",
1215-
"Image(fig.to_image(format=\"png\", width=900, height=900))"
1157+
"px.scatter(\n",
1158+
" mpg, x=\"displ\", y=\"hwy\", \n",
1159+
" facet_col=\"cyl\", facet_row=\"drv\",\n",
1160+
" category_orders=dict(cyl=[4,5,6,8])\n",
1161+
")"
12161162
]
12171163
},
12181164
{
@@ -1362,7 +1308,7 @@
13621308
" }\n",
13631309
" }\n",
13641310
"})\n",
1365-
"Image(fig.to_image(format=\"png\", width=900, height=900))"
1311+
"Image(fig.to_image(format=\"png\", width=750, height=750))"
13661312
]
13671313
},
13681314
{
@@ -1450,24 +1396,12 @@
14501396
},
14511397
"outputs": [],
14521398
"source": [
1453-
"traces = []\n",
1454-
"newDiamond = diamonds.groupby(['cut','clarity']).size().unstack()\n",
1455-
"for c in newDiamond.columns:\n",
1456-
" traces.append(graph_objects.Bar({\n",
1457-
" 'x' : newDiamond.index,\n",
1458-
" 'y' : newDiamond[c],\n",
1459-
" 'name' : c\n",
1460-
" }))\n",
1461-
"fig = graph_objects.Figure(**{\n",
1462-
" 'data' : traces,\n",
1463-
" 'layout' : {\n",
1464-
" 'barmode' : 'stack',\n",
1465-
" 'xaxis' : {\n",
1466-
" 'title' : 'cut'\n",
1467-
" }, \n",
1468-
" }\n",
1469-
"})\n",
1470-
"Image(fig.to_image(format=\"png\", width=900, height=900))"
1399+
"px.histogram(\n",
1400+
" diamonds, x=\"cut\", color=\"clarity\",\n",
1401+
" category_orders=dict(cut=[\n",
1402+
" \"Fair\", \"Good\", \"Very Good\", \n",
1403+
" \"Premium\", \"Ideal\"])\n",
1404+
")"
14711405
]
14721406
},
14731407
{
@@ -1558,24 +1492,12 @@
15581492
},
15591493
"outputs": [],
15601494
"source": [
1561-
"traces = []\n",
1562-
"newDiamond = diamonds.groupby(['cut','clarity']).size().unstack()\n",
1563-
"for c in newDiamond.columns:\n",
1564-
" traces.append(graph_objects.Bar({\n",
1565-
" 'x' : newDiamond.index,\n",
1566-
" 'y' : newDiamond[c],\n",
1567-
" 'name' : c\n",
1568-
" }))\n",
1569-
"fig = graph_objects.Figure(**{\n",
1570-
" 'data' : traces,\n",
1571-
" 'layout' : {\n",
1572-
" 'barmode' : 'group',\n",
1573-
" 'xaxis' : {\n",
1574-
" 'title' : 'cut'\n",
1575-
" }, \n",
1576-
" }\n",
1577-
"})\n",
1578-
"Image(fig.to_image(format=\"png\", width=900, height=900))"
1495+
"px.histogram(\n",
1496+
" diamonds, x=\"cut\", color=\"clarity\", barmode=\"group\",\n",
1497+
" category_orders=dict(cut=[\n",
1498+
" \"Fair\", \"Good\", \"Very Good\", \n",
1499+
" \"Premium\", \"Ideal\"])\n",
1500+
")"
15791501
]
15801502
},
15811503
{
@@ -1710,7 +1632,7 @@
17101632
")\n",
17111633
"for d in fig[\"data\"]:\n",
17121634
" d.update({\"fill\": \"tozeroy\"})\n",
1713-
"Image(fig.to_image(format=\"png\", width=900, height=900))"
1635+
"Image(fig.to_image(format=\"png\", width=750, height=750))"
17141636
]
17151637
},
17161638
{
@@ -1773,14 +1695,9 @@
17731695
},
17741696
"outputs": [],
17751697
"source": [
1776-
"fig = graph_objects.Figure(layout={'xaxis' : { 'title' : 'date'}})\n",
1777-
"scatter = graph_objects.Scatter({\n",
1778-
" 'mode' :'lines',\n",
1779-
" 'x' : ts.date,\n",
1780-
" 'y' : ts.value\n",
1781-
"})\n",
1782-
"fig.add_trace(scatter)\n",
1783-
"Image(fig.to_image(format=\"png\", width=900, height=900))"
1698+
"px.line(\n",
1699+
" ts, x=\"date\", y=\"value\"\n",
1700+
")"
17841701
]
17851702
},
17861703
{
@@ -1818,7 +1735,7 @@
18181735
"name": "python",
18191736
"nbconvert_exporter": "python",
18201737
"pygments_lexer": "ipython3",
1821-
"version": "3.7.0"
1738+
"version": "3.7.7"
18221739
}
18231740
},
18241741
"nbformat": 4,

requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ chart-studio
1515
statsmodels==0.11.1
1616
rpy2
1717
psutil
18-
plotly
18+
plotly==4.10.0
19+
kaleido
1920
tzlocal
2021
simplegeneric
2122
altair

0 commit comments

Comments
 (0)