{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "This was written with Toyplot 0.13. It definitely won't work with older versions." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.13.0\n" ] } ], "source": [ "import numpy\n", "import pandas\n", "import toyplot.pdf\n", "\n", "print toyplot.__version__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Read in the data from a csv file." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [], "source": [ "data = pandas.read_csv('All_Overall_SpeedUp.csv')\n", "#data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Construct the plot for the \"Cinema\" camera." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CameraWorkloadFormatStrategySurfacecinemainverse
0balE21.5681071.2497741.867632
1balE31.9022632.6458061.933246
2balE41.9712953.2971141.939536
3balS21.6591781.4225651.890235
4balS31.7327811.6404501.892089
5balS41.7539381.7787071.899919
6imbE23.1580941.2063892.539370
7imbE37.5052882.7161076.872191
8imbE410.1017233.5313929.828443
9imbS27.0674411.4477475.986203
10imbS39.0815981.6962468.241577
11imbS410.2499541.8761089.911399
12isoE21.5063841.0435741.281076
13isoE32.5122582.4521412.834047
14isoE42.8105113.1581563.538466
15isoS21.9059241.0940021.729485
16isoS32.0559721.3200472.011817
17isoS42.1638811.5155342.267375
18slcE21.2822411.0998591.473786
19slcE31.5929572.5796771.517219
20slcE41.6746583.3884571.547344
21slcS21.3032501.1775531.294018
22slcS31.3546111.4302711.471378
23slcS41.3770941.5849261.505614
\n", "
" ], "text/plain": [ "Camera Workload Format Strategy Surface cinema inverse\n", "0 bal E 2 1.568107 1.249774 1.867632\n", "1 bal E 3 1.902263 2.645806 1.933246\n", "2 bal E 4 1.971295 3.297114 1.939536\n", "3 bal S 2 1.659178 1.422565 1.890235\n", "4 bal S 3 1.732781 1.640450 1.892089\n", "5 bal S 4 1.753938 1.778707 1.899919\n", "6 imb E 2 3.158094 1.206389 2.539370\n", "7 imb E 3 7.505288 2.716107 6.872191\n", "8 imb E 4 10.101723 3.531392 9.828443\n", "9 imb S 2 7.067441 1.447747 5.986203\n", "10 imb S 3 9.081598 1.696246 8.241577\n", "11 imb S 4 10.249954 1.876108 9.911399\n", "12 iso E 2 1.506384 1.043574 1.281076\n", "13 iso E 3 2.512258 2.452141 2.834047\n", "14 iso E 4 2.810511 3.158156 3.538466\n", "15 iso S 2 1.905924 1.094002 1.729485\n", "16 iso S 3 2.055972 1.320047 2.011817\n", "17 iso S 4 2.163881 1.515534 2.267375\n", "18 slc E 2 1.282241 1.099859 1.473786\n", "19 slc E 3 1.592957 2.579677 1.517219\n", "20 slc E 4 1.674658 3.388457 1.547344\n", "21 slc S 2 1.303250 1.177553 1.294018\n", "22 slc S 3 1.354611 1.430271 1.471378\n", "23 slc S 4 1.377094 1.584926 1.505614" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subset_data = data[data.Images == 100]\n", "subset_data = subset_data[subset_data.Strategy >= 2]\n", "plot_data = subset_data.pivot_table(index=['Workload','Format','Strategy'],\n", " columns='Camera',\n", " values='Speedup')\n", "plot_data.reset_index(inplace=True)\n", "plot_data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Change order of entries." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CameraWorkloadFormatStrategycinemainverseSurface
3balS21.4225651.8902351.659178
4balS31.6404501.8920891.732781
5balS41.7787071.8999191.753938
0balE21.2497741.8676321.568107
1balE32.6458061.9332461.902263
2balE43.2971141.9395361.971295
9imbS21.4477475.9862037.067441
10imbS31.6962468.2415779.081598
11imbS41.8761089.91139910.249954
6imbE21.2063892.5393703.158094
7imbE32.7161076.8721917.505288
8imbE43.5313929.82844310.101723
21slcS21.1775531.2940181.303250
22slcS31.4302711.4713781.354611
23slcS41.5849261.5056141.377094
18slcE21.0998591.4737861.282241
19slcE32.5796771.5172191.592957
20slcE43.3884571.5473441.674658
15isoS21.0940021.7294851.905924
16isoS31.3200472.0118172.055972
17isoS41.5155342.2673752.163881
12isoE21.0435741.2810761.506384
13isoE32.4521412.8340472.512258
14isoE43.1581563.5384662.810511
\n", "
" ], "text/plain": [ "Camera Workload Format Strategy cinema inverse Surface\n", "3 bal S 2 1.422565 1.890235 1.659178\n", "4 bal S 3 1.640450 1.892089 1.732781\n", "5 bal S 4 1.778707 1.899919 1.753938\n", "0 bal E 2 1.249774 1.867632 1.568107\n", "1 bal E 3 2.645806 1.933246 1.902263\n", "2 bal E 4 3.297114 1.939536 1.971295\n", "9 imb S 2 1.447747 5.986203 7.067441\n", "10 imb S 3 1.696246 8.241577 9.081598\n", "11 imb S 4 1.876108 9.911399 10.249954\n", "6 imb E 2 1.206389 2.539370 3.158094\n", "7 imb E 3 2.716107 6.872191 7.505288\n", "8 imb E 4 3.531392 9.828443 10.101723\n", "21 slc S 2 1.177553 1.294018 1.303250\n", "22 slc S 3 1.430271 1.471378 1.354611\n", "23 slc S 4 1.584926 1.505614 1.377094\n", "18 slc E 2 1.099859 1.473786 1.282241\n", "19 slc E 3 2.579677 1.517219 1.592957\n", "20 slc E 4 3.388457 1.547344 1.674658\n", "15 iso S 2 1.094002 1.729485 1.905924\n", "16 iso S 3 1.320047 2.011817 2.055972\n", "17 iso S 4 1.515534 2.267375 2.163881\n", "12 iso E 2 1.043574 1.281076 1.506384\n", "13 iso E 3 2.452141 2.834047 2.512258\n", "14 iso E 4 3.158156 3.538466 2.810511" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Reorder rows based on non-lexigraphical sorting we want\n", "plot_data.Format = plot_data.Format.astype('category')\n", "plot_data.Format.cat.set_categories(['S','E'], inplace=True)\n", "plot_data.Workload = plot_data.Workload.astype('category')\n", "plot_data.Workload.cat.set_categories(['bal','imb','slc','iso'], inplace=True)\n", "plot_data.sort_values(['Workload', 'Format', 'Strategy'], inplace=True)\n", "\n", "# Sort columns in the order we want\n", "plot_data = plot_data[['Workload', 'Format', 'Strategy', 'cinema', 'inverse', 'Surface']]\n", "\n", "plot_data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Change the values to printable names." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CameraWorkloadTypeAlgcinemainverseSurface
3BalancedStatic21.4225651.8902351.659178
4BalancedStatic31.6404501.8920891.732781
5BalancedStatic41.7787071.8999191.753938
0BalancedExplorable21.2497741.8676321.568107
1BalancedExplorable32.6458061.9332461.902263
2BalancedExplorable43.2971141.9395361.971295
9ImbalancedStatic21.4477475.9862037.067441
10ImbalancedStatic31.6962468.2415779.081598
11ImbalancedStatic41.8761089.91139910.249954
6ImbalancedExplorable21.2063892.5393703.158094
7ImbalancedExplorable32.7161076.8721917.505288
8ImbalancedExplorable43.5313929.82844310.101723
21SliceStatic21.1775531.2940181.303250
22SliceStatic31.4302711.4713781.354611
23SliceStatic41.5849261.5056141.377094
18SliceExplorable21.0998591.4737861.282241
19SliceExplorable32.5796771.5172191.592957
20SliceExplorable43.3884571.5473441.674658
15IsosurfaceStatic21.0940021.7294851.905924
16IsosurfaceStatic31.3200472.0118172.055972
17IsosurfaceStatic41.5155342.2673752.163881
12IsosurfaceExplorable21.0435741.2810761.506384
13IsosurfaceExplorable32.4521412.8340472.512258
14IsosurfaceExplorable43.1581563.5384662.810511
\n", "
" ], "text/plain": [ "Camera Workload Type Alg cinema inverse Surface\n", "3 Balanced Static 2 1.422565 1.890235 1.659178\n", "4 Balanced Static 3 1.640450 1.892089 1.732781\n", "5 Balanced Static 4 1.778707 1.899919 1.753938\n", "0 Balanced Explorable 2 1.249774 1.867632 1.568107\n", "1 Balanced Explorable 3 2.645806 1.933246 1.902263\n", "2 Balanced Explorable 4 3.297114 1.939536 1.971295\n", "9 Imbalanced Static 2 1.447747 5.986203 7.067441\n", "10 Imbalanced Static 3 1.696246 8.241577 9.081598\n", "11 Imbalanced Static 4 1.876108 9.911399 10.249954\n", "6 Imbalanced Explorable 2 1.206389 2.539370 3.158094\n", "7 Imbalanced Explorable 3 2.716107 6.872191 7.505288\n", "8 Imbalanced Explorable 4 3.531392 9.828443 10.101723\n", "21 Slice Static 2 1.177553 1.294018 1.303250\n", "22 Slice Static 3 1.430271 1.471378 1.354611\n", "23 Slice Static 4 1.584926 1.505614 1.377094\n", "18 Slice Explorable 2 1.099859 1.473786 1.282241\n", "19 Slice Explorable 3 2.579677 1.517219 1.592957\n", "20 Slice Explorable 4 3.388457 1.547344 1.674658\n", "15 Isosurface Static 2 1.094002 1.729485 1.905924\n", "16 Isosurface Static 3 1.320047 2.011817 2.055972\n", "17 Isosurface Static 4 1.515534 2.267375 2.163881\n", "12 Isosurface Explorable 2 1.043574 1.281076 1.506384\n", "13 Isosurface Explorable 3 2.452141 2.834047 2.512258\n", "14 Isosurface Explorable 4 3.158156 3.538466 2.810511" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot_data.Workload = plot_data.Workload.map({'bal': 'Balanced',\n", " 'imb': 'Imbalanced',\n", " 'slc': 'Slice',\n", " 'iso': 'Isosurface'})\n", "plot_data.Format = plot_data.Format.map({'S': 'Static', 'E': 'Explorable'})\n", "plot_data.rename(index=str, columns={'Strategy': 'Alg'}, inplace=True)\n", "plot_data.rename(index=str, columns={'Format': 'Type'}, inplace=True)\n", "plot_data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Duplicate value columns to put in bar chart." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CameraWorkloadTypeAlgcinemacinemainverseinverseSurfaceSurface
3BalancedStatic21.4225651.4225651.8902351.8902351.6591781.659178
4BalancedStatic31.6404501.6404501.8920891.8920891.7327811.732781
5BalancedStatic41.7787071.7787071.8999191.8999191.7539381.753938
0BalancedExplorable21.2497741.2497741.8676321.8676321.5681071.568107
1BalancedExplorable32.6458062.6458061.9332461.9332461.9022631.902263
2BalancedExplorable43.2971143.2971141.9395361.9395361.9712951.971295
9ImbalancedStatic21.4477471.4477475.9862035.9862037.0674417.067441
10ImbalancedStatic31.6962461.6962468.2415778.2415779.0815989.081598
11ImbalancedStatic41.8761081.8761089.9113999.91139910.24995410.249954
6ImbalancedExplorable21.2063891.2063892.5393702.5393703.1580943.158094
7ImbalancedExplorable32.7161072.7161076.8721916.8721917.5052887.505288
8ImbalancedExplorable43.5313923.5313929.8284439.82844310.10172310.101723
21SliceStatic21.1775531.1775531.2940181.2940181.3032501.303250
22SliceStatic31.4302711.4302711.4713781.4713781.3546111.354611
23SliceStatic41.5849261.5849261.5056141.5056141.3770941.377094
18SliceExplorable21.0998591.0998591.4737861.4737861.2822411.282241
19SliceExplorable32.5796772.5796771.5172191.5172191.5929571.592957
20SliceExplorable43.3884573.3884571.5473441.5473441.6746581.674658
15IsosurfaceStatic21.0940021.0940021.7294851.7294851.9059241.905924
16IsosurfaceStatic31.3200471.3200472.0118172.0118172.0559722.055972
17IsosurfaceStatic41.5155341.5155342.2673752.2673752.1638812.163881
12IsosurfaceExplorable21.0435741.0435741.2810761.2810761.5063841.506384
13IsosurfaceExplorable32.4521412.4521412.8340472.8340472.5122582.512258
14IsosurfaceExplorable43.1581563.1581563.5384663.5384662.8105112.810511
\n", "
" ], "text/plain": [ "Camera Workload Type Alg cinema cinema inverse inverse \\\n", "3 Balanced Static 2 1.422565 1.422565 1.890235 1.890235 \n", "4 Balanced Static 3 1.640450 1.640450 1.892089 1.892089 \n", "5 Balanced Static 4 1.778707 1.778707 1.899919 1.899919 \n", "0 Balanced Explorable 2 1.249774 1.249774 1.867632 1.867632 \n", "1 Balanced Explorable 3 2.645806 2.645806 1.933246 1.933246 \n", "2 Balanced Explorable 4 3.297114 3.297114 1.939536 1.939536 \n", "9 Imbalanced Static 2 1.447747 1.447747 5.986203 5.986203 \n", "10 Imbalanced Static 3 1.696246 1.696246 8.241577 8.241577 \n", "11 Imbalanced Static 4 1.876108 1.876108 9.911399 9.911399 \n", "6 Imbalanced Explorable 2 1.206389 1.206389 2.539370 2.539370 \n", "7 Imbalanced Explorable 3 2.716107 2.716107 6.872191 6.872191 \n", "8 Imbalanced Explorable 4 3.531392 3.531392 9.828443 9.828443 \n", "21 Slice Static 2 1.177553 1.177553 1.294018 1.294018 \n", "22 Slice Static 3 1.430271 1.430271 1.471378 1.471378 \n", "23 Slice Static 4 1.584926 1.584926 1.505614 1.505614 \n", "18 Slice Explorable 2 1.099859 1.099859 1.473786 1.473786 \n", "19 Slice Explorable 3 2.579677 2.579677 1.517219 1.517219 \n", "20 Slice Explorable 4 3.388457 3.388457 1.547344 1.547344 \n", "15 Isosurface Static 2 1.094002 1.094002 1.729485 1.729485 \n", "16 Isosurface Static 3 1.320047 1.320047 2.011817 2.011817 \n", "17 Isosurface Static 4 1.515534 1.515534 2.267375 2.267375 \n", "12 Isosurface Explorable 2 1.043574 1.043574 1.281076 1.281076 \n", "13 Isosurface Explorable 3 2.452141 2.452141 2.834047 2.834047 \n", "14 Isosurface Explorable 4 3.158156 3.158156 3.538466 3.538466 \n", "\n", "Camera Surface Surface \n", "3 1.659178 1.659178 \n", "4 1.732781 1.732781 \n", "5 1.753938 1.753938 \n", "0 1.568107 1.568107 \n", "1 1.902263 1.902263 \n", "2 1.971295 1.971295 \n", "9 7.067441 7.067441 \n", "10 9.081598 9.081598 \n", "11 10.249954 10.249954 \n", "6 3.158094 3.158094 \n", "7 7.505288 7.505288 \n", "8 10.101723 10.101723 \n", "21 1.303250 1.303250 \n", "22 1.354611 1.354611 \n", "23 1.377094 1.377094 \n", "18 1.282241 1.282241 \n", "19 1.592957 1.592957 \n", "20 1.674658 1.674658 \n", "15 1.905924 1.905924 \n", "16 2.055972 2.055972 \n", "17 2.163881 2.163881 \n", "12 1.506384 1.506384 \n", "13 2.512258 2.512258 \n", "14 2.810511 2.810511 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot_data.insert(4, 'cinema', plot_data['cinema'], allow_duplicates=True)\n", "plot_data.insert(6, 'inverse', plot_data['inverse'], allow_duplicates=True)\n", "plot_data.insert(8, 'Surface', plot_data['Surface'], allow_duplicates=True)\n", "plot_data" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "10.249954075583199" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "max_value = plot_data.max()[3:].max()\n", "max_value" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
WorkloadTypeAlgBalancedStatic21.41.91.7BalancedStatic31.61.91.7BalancedStatic41.81.91.8BalancedExplorable21.21.91.6BalancedExplorable32.61.91.9BalancedExplorable43.31.92.0ImbalancedStatic21.46.07.1ImbalancedStatic31.78.29.1ImbalancedStatic41.99.910.2ImbalancedExplorable21.22.53.2ImbalancedExplorable32.76.97.5ImbalancedExplorable43.59.810.1SliceStatic21.21.31.3SliceStatic31.41.51.4SliceStatic41.61.51.4SliceExplorable21.11.51.3SliceExplorable32.61.51.6SliceExplorable43.41.51.7IsosurfaceStatic21.11.71.9IsosurfaceStatic31.32.02.1IsosurfaceStatic41.52.32.2IsosurfaceExplorable21.01.31.5IsosurfaceExplorable32.52.82.5IsosurfaceExplorable43.23.52.8CinemaInverseSurface
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "canvas = toyplot.Canvas(width=900, height=600)\n", "table = canvas.table(plot_data)\n", "table.cells.cell[:,3:].format = toyplot.format.FloatFormatter(format='{:.1f}')\n", "\n", "# Generally I do not want vertical lines, but they can be handy when resizing columns.\n", "#table.grid.vlines[...] = \"single\"\n", "\n", "table.column(0).width = 72\n", "table.column(1).width = 70\n", "table.column(2).width = 25\n", "table.column(3).width = 30\n", "table.column(3).column_offset = 8\n", "table.column(5).width = 30\n", "table.column(5).column_offset = 8\n", "table.column(7).width = 30\n", "table.column(7).column_offset = 8\n", "\n", "# Left align the text in cells, center algorithm number\n", "table.body.cell[:, 0:2].align = 'left'\n", "table.body.cell[:, 2].align = 'center'\n", "\n", "# Merge header for numbers and bar chart\n", "table.top.cell[0,3:5].merge().data = \"Cinema\"\n", "table.top.cell[0,5:7].merge().data = \"Inverse\"\n", "table.top.cell[0,7:9].merge().data = \"Surface\"\n", "\n", "# Make bar chart columns\n", "axes = table.body.column[4].cartesian()\n", "axes.cell_bars(width=1)\n", "axes.x.domain.max = max_value\n", "\n", "axes = table.body.column[6].cartesian()\n", "axes.cell_bars(width=1)\n", "axes.x.domain.max = max_value\n", "\n", "axes = table.body.column[8].cartesian()\n", "axes.cell_bars(width=1)\n", "axes.x.domain.max = max_value\n", "\n", "# Add gaps to separate groups\n", "table.body.gaps.rows[[5,11,17]] = '6pt'\n", "table.body.gaps.rows[[2,8,14,20]] = '3pt'" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "toyplot.pdf.render(canvas, 'Overall_SpeedUp_Summary.pdf')" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
WorkloadTypeAlgBalancedStatic21.41.91.7BalancedStatic31.61.91.7BalancedStatic41.81.91.8BalancedExplorable21.21.91.6BalancedExplorable32.61.91.9BalancedExplorable43.31.92.0ImbalancedStatic21.46.07.1ImbalancedStatic31.78.29.1ImbalancedStatic41.99.910.2ImbalancedExplorable21.22.53.2ImbalancedExplorable32.76.97.5ImbalancedExplorable43.59.810.1SliceStatic21.21.31.3SliceStatic31.41.51.4SliceStatic41.61.51.4SliceExplorable21.11.51.3SliceExplorable32.61.51.6SliceExplorable43.41.51.7IsosurfaceStatic21.11.71.9IsosurfaceStatic31.32.02.1IsosurfaceStatic41.52.32.2IsosurfaceExplorable21.01.31.5IsosurfaceExplorable32.52.82.5IsosurfaceExplorable43.23.52.8CinemaInverseSurface
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "canvas = toyplot.Canvas(width=500, height=600)\n", "table = canvas.table(plot_data)\n", "table.cells.cell[:,3:].format = toyplot.format.FloatFormatter(format='{:.1f}')\n", "\n", "# Generally I do not want vertical lines, but they can be handy when resizing columns.\n", "#table.grid.vlines[...] = \"single\"\n", "\n", "table.column(0).width = 72\n", "table.column(1).width = 70\n", "table.column(2).width = 25\n", "table.column(3).width = 30\n", "table.column(3).column_offset = 8\n", "table.column(5).width = 30\n", "table.column(5).column_offset = 8\n", "table.column(7).width = 30\n", "table.column(7).column_offset = 8\n", "\n", "# Left align the text in cells, center algorithm number\n", "table.body.cell[:, 0:2].align = 'left'\n", "table.body.cell[:, 2].align = 'center'\n", "\n", "# Merge header for numbers and bar chart\n", "table.top.cell[0,3:5].merge().data = \"Cinema\"\n", "table.top.cell[0,5:7].merge().data = \"Inverse\"\n", "table.top.cell[0,7:9].merge().data = \"Surface\"\n", "\n", "# Make bar chart columns\n", "axes = table.body.column[4].cartesian()\n", "axes.cell_bars(width=1)\n", "axes.x.domain.max = max_value\n", "\n", "axes = table.body.column[6].cartesian()\n", "axes.cell_bars(width=1)\n", "axes.x.domain.max = max_value\n", "\n", "axes = table.body.column[8].cartesian()\n", "axes.cell_bars(width=1)\n", "axes.x.domain.max = max_value\n", "\n", "# Add gaps to separate groups\n", "table.body.gaps.rows[[5,11,17]] = '6pt'\n", "table.body.gaps.rows[[2,8,14,20]] = '3pt'" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "toyplot.pdf.render(canvas, 'Overall_SpeedUp_Summary_Thin.pdf')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.11" } }, "nbformat": 4, "nbformat_minor": 0 }