{
"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",
" Camera | \n",
" Workload | \n",
" Format | \n",
" Strategy | \n",
" Surface | \n",
" cinema | \n",
" inverse | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" bal | \n",
" E | \n",
" 2 | \n",
" 1.568107 | \n",
" 1.249774 | \n",
" 1.867632 | \n",
"
\n",
" \n",
" 1 | \n",
" bal | \n",
" E | \n",
" 3 | \n",
" 1.902263 | \n",
" 2.645806 | \n",
" 1.933246 | \n",
"
\n",
" \n",
" 2 | \n",
" bal | \n",
" E | \n",
" 4 | \n",
" 1.971295 | \n",
" 3.297114 | \n",
" 1.939536 | \n",
"
\n",
" \n",
" 3 | \n",
" bal | \n",
" S | \n",
" 2 | \n",
" 1.659178 | \n",
" 1.422565 | \n",
" 1.890235 | \n",
"
\n",
" \n",
" 4 | \n",
" bal | \n",
" S | \n",
" 3 | \n",
" 1.732781 | \n",
" 1.640450 | \n",
" 1.892089 | \n",
"
\n",
" \n",
" 5 | \n",
" bal | \n",
" S | \n",
" 4 | \n",
" 1.753938 | \n",
" 1.778707 | \n",
" 1.899919 | \n",
"
\n",
" \n",
" 6 | \n",
" imb | \n",
" E | \n",
" 2 | \n",
" 3.158094 | \n",
" 1.206389 | \n",
" 2.539370 | \n",
"
\n",
" \n",
" 7 | \n",
" imb | \n",
" E | \n",
" 3 | \n",
" 7.505288 | \n",
" 2.716107 | \n",
" 6.872191 | \n",
"
\n",
" \n",
" 8 | \n",
" imb | \n",
" E | \n",
" 4 | \n",
" 10.101723 | \n",
" 3.531392 | \n",
" 9.828443 | \n",
"
\n",
" \n",
" 9 | \n",
" imb | \n",
" S | \n",
" 2 | \n",
" 7.067441 | \n",
" 1.447747 | \n",
" 5.986203 | \n",
"
\n",
" \n",
" 10 | \n",
" imb | \n",
" S | \n",
" 3 | \n",
" 9.081598 | \n",
" 1.696246 | \n",
" 8.241577 | \n",
"
\n",
" \n",
" 11 | \n",
" imb | \n",
" S | \n",
" 4 | \n",
" 10.249954 | \n",
" 1.876108 | \n",
" 9.911399 | \n",
"
\n",
" \n",
" 12 | \n",
" iso | \n",
" E | \n",
" 2 | \n",
" 1.506384 | \n",
" 1.043574 | \n",
" 1.281076 | \n",
"
\n",
" \n",
" 13 | \n",
" iso | \n",
" E | \n",
" 3 | \n",
" 2.512258 | \n",
" 2.452141 | \n",
" 2.834047 | \n",
"
\n",
" \n",
" 14 | \n",
" iso | \n",
" E | \n",
" 4 | \n",
" 2.810511 | \n",
" 3.158156 | \n",
" 3.538466 | \n",
"
\n",
" \n",
" 15 | \n",
" iso | \n",
" S | \n",
" 2 | \n",
" 1.905924 | \n",
" 1.094002 | \n",
" 1.729485 | \n",
"
\n",
" \n",
" 16 | \n",
" iso | \n",
" S | \n",
" 3 | \n",
" 2.055972 | \n",
" 1.320047 | \n",
" 2.011817 | \n",
"
\n",
" \n",
" 17 | \n",
" iso | \n",
" S | \n",
" 4 | \n",
" 2.163881 | \n",
" 1.515534 | \n",
" 2.267375 | \n",
"
\n",
" \n",
" 18 | \n",
" slc | \n",
" E | \n",
" 2 | \n",
" 1.282241 | \n",
" 1.099859 | \n",
" 1.473786 | \n",
"
\n",
" \n",
" 19 | \n",
" slc | \n",
" E | \n",
" 3 | \n",
" 1.592957 | \n",
" 2.579677 | \n",
" 1.517219 | \n",
"
\n",
" \n",
" 20 | \n",
" slc | \n",
" E | \n",
" 4 | \n",
" 1.674658 | \n",
" 3.388457 | \n",
" 1.547344 | \n",
"
\n",
" \n",
" 21 | \n",
" slc | \n",
" S | \n",
" 2 | \n",
" 1.303250 | \n",
" 1.177553 | \n",
" 1.294018 | \n",
"
\n",
" \n",
" 22 | \n",
" slc | \n",
" S | \n",
" 3 | \n",
" 1.354611 | \n",
" 1.430271 | \n",
" 1.471378 | \n",
"
\n",
" \n",
" 23 | \n",
" slc | \n",
" S | \n",
" 4 | \n",
" 1.377094 | \n",
" 1.584926 | \n",
" 1.505614 | \n",
"
\n",
" \n",
"
\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",
" Camera | \n",
" Workload | \n",
" Format | \n",
" Strategy | \n",
" cinema | \n",
" inverse | \n",
" Surface | \n",
"
\n",
" \n",
" \n",
" \n",
" 3 | \n",
" bal | \n",
" S | \n",
" 2 | \n",
" 1.422565 | \n",
" 1.890235 | \n",
" 1.659178 | \n",
"
\n",
" \n",
" 4 | \n",
" bal | \n",
" S | \n",
" 3 | \n",
" 1.640450 | \n",
" 1.892089 | \n",
" 1.732781 | \n",
"
\n",
" \n",
" 5 | \n",
" bal | \n",
" S | \n",
" 4 | \n",
" 1.778707 | \n",
" 1.899919 | \n",
" 1.753938 | \n",
"
\n",
" \n",
" 0 | \n",
" bal | \n",
" E | \n",
" 2 | \n",
" 1.249774 | \n",
" 1.867632 | \n",
" 1.568107 | \n",
"
\n",
" \n",
" 1 | \n",
" bal | \n",
" E | \n",
" 3 | \n",
" 2.645806 | \n",
" 1.933246 | \n",
" 1.902263 | \n",
"
\n",
" \n",
" 2 | \n",
" bal | \n",
" E | \n",
" 4 | \n",
" 3.297114 | \n",
" 1.939536 | \n",
" 1.971295 | \n",
"
\n",
" \n",
" 9 | \n",
" imb | \n",
" S | \n",
" 2 | \n",
" 1.447747 | \n",
" 5.986203 | \n",
" 7.067441 | \n",
"
\n",
" \n",
" 10 | \n",
" imb | \n",
" S | \n",
" 3 | \n",
" 1.696246 | \n",
" 8.241577 | \n",
" 9.081598 | \n",
"
\n",
" \n",
" 11 | \n",
" imb | \n",
" S | \n",
" 4 | \n",
" 1.876108 | \n",
" 9.911399 | \n",
" 10.249954 | \n",
"
\n",
" \n",
" 6 | \n",
" imb | \n",
" E | \n",
" 2 | \n",
" 1.206389 | \n",
" 2.539370 | \n",
" 3.158094 | \n",
"
\n",
" \n",
" 7 | \n",
" imb | \n",
" E | \n",
" 3 | \n",
" 2.716107 | \n",
" 6.872191 | \n",
" 7.505288 | \n",
"
\n",
" \n",
" 8 | \n",
" imb | \n",
" E | \n",
" 4 | \n",
" 3.531392 | \n",
" 9.828443 | \n",
" 10.101723 | \n",
"
\n",
" \n",
" 21 | \n",
" slc | \n",
" S | \n",
" 2 | \n",
" 1.177553 | \n",
" 1.294018 | \n",
" 1.303250 | \n",
"
\n",
" \n",
" 22 | \n",
" slc | \n",
" S | \n",
" 3 | \n",
" 1.430271 | \n",
" 1.471378 | \n",
" 1.354611 | \n",
"
\n",
" \n",
" 23 | \n",
" slc | \n",
" S | \n",
" 4 | \n",
" 1.584926 | \n",
" 1.505614 | \n",
" 1.377094 | \n",
"
\n",
" \n",
" 18 | \n",
" slc | \n",
" E | \n",
" 2 | \n",
" 1.099859 | \n",
" 1.473786 | \n",
" 1.282241 | \n",
"
\n",
" \n",
" 19 | \n",
" slc | \n",
" E | \n",
" 3 | \n",
" 2.579677 | \n",
" 1.517219 | \n",
" 1.592957 | \n",
"
\n",
" \n",
" 20 | \n",
" slc | \n",
" E | \n",
" 4 | \n",
" 3.388457 | \n",
" 1.547344 | \n",
" 1.674658 | \n",
"
\n",
" \n",
" 15 | \n",
" iso | \n",
" S | \n",
" 2 | \n",
" 1.094002 | \n",
" 1.729485 | \n",
" 1.905924 | \n",
"
\n",
" \n",
" 16 | \n",
" iso | \n",
" S | \n",
" 3 | \n",
" 1.320047 | \n",
" 2.011817 | \n",
" 2.055972 | \n",
"
\n",
" \n",
" 17 | \n",
" iso | \n",
" S | \n",
" 4 | \n",
" 1.515534 | \n",
" 2.267375 | \n",
" 2.163881 | \n",
"
\n",
" \n",
" 12 | \n",
" iso | \n",
" E | \n",
" 2 | \n",
" 1.043574 | \n",
" 1.281076 | \n",
" 1.506384 | \n",
"
\n",
" \n",
" 13 | \n",
" iso | \n",
" E | \n",
" 3 | \n",
" 2.452141 | \n",
" 2.834047 | \n",
" 2.512258 | \n",
"
\n",
" \n",
" 14 | \n",
" iso | \n",
" E | \n",
" 4 | \n",
" 3.158156 | \n",
" 3.538466 | \n",
" 2.810511 | \n",
"
\n",
" \n",
"
\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",
" Camera | \n",
" Workload | \n",
" Type | \n",
" Alg | \n",
" cinema | \n",
" inverse | \n",
" Surface | \n",
"
\n",
" \n",
" \n",
" \n",
" 3 | \n",
" Balanced | \n",
" Static | \n",
" 2 | \n",
" 1.422565 | \n",
" 1.890235 | \n",
" 1.659178 | \n",
"
\n",
" \n",
" 4 | \n",
" Balanced | \n",
" Static | \n",
" 3 | \n",
" 1.640450 | \n",
" 1.892089 | \n",
" 1.732781 | \n",
"
\n",
" \n",
" 5 | \n",
" Balanced | \n",
" Static | \n",
" 4 | \n",
" 1.778707 | \n",
" 1.899919 | \n",
" 1.753938 | \n",
"
\n",
" \n",
" 0 | \n",
" Balanced | \n",
" Explorable | \n",
" 2 | \n",
" 1.249774 | \n",
" 1.867632 | \n",
" 1.568107 | \n",
"
\n",
" \n",
" 1 | \n",
" Balanced | \n",
" Explorable | \n",
" 3 | \n",
" 2.645806 | \n",
" 1.933246 | \n",
" 1.902263 | \n",
"
\n",
" \n",
" 2 | \n",
" Balanced | \n",
" Explorable | \n",
" 4 | \n",
" 3.297114 | \n",
" 1.939536 | \n",
" 1.971295 | \n",
"
\n",
" \n",
" 9 | \n",
" Imbalanced | \n",
" Static | \n",
" 2 | \n",
" 1.447747 | \n",
" 5.986203 | \n",
" 7.067441 | \n",
"
\n",
" \n",
" 10 | \n",
" Imbalanced | \n",
" Static | \n",
" 3 | \n",
" 1.696246 | \n",
" 8.241577 | \n",
" 9.081598 | \n",
"
\n",
" \n",
" 11 | \n",
" Imbalanced | \n",
" Static | \n",
" 4 | \n",
" 1.876108 | \n",
" 9.911399 | \n",
" 10.249954 | \n",
"
\n",
" \n",
" 6 | \n",
" Imbalanced | \n",
" Explorable | \n",
" 2 | \n",
" 1.206389 | \n",
" 2.539370 | \n",
" 3.158094 | \n",
"
\n",
" \n",
" 7 | \n",
" Imbalanced | \n",
" Explorable | \n",
" 3 | \n",
" 2.716107 | \n",
" 6.872191 | \n",
" 7.505288 | \n",
"
\n",
" \n",
" 8 | \n",
" Imbalanced | \n",
" Explorable | \n",
" 4 | \n",
" 3.531392 | \n",
" 9.828443 | \n",
" 10.101723 | \n",
"
\n",
" \n",
" 21 | \n",
" Slice | \n",
" Static | \n",
" 2 | \n",
" 1.177553 | \n",
" 1.294018 | \n",
" 1.303250 | \n",
"
\n",
" \n",
" 22 | \n",
" Slice | \n",
" Static | \n",
" 3 | \n",
" 1.430271 | \n",
" 1.471378 | \n",
" 1.354611 | \n",
"
\n",
" \n",
" 23 | \n",
" Slice | \n",
" Static | \n",
" 4 | \n",
" 1.584926 | \n",
" 1.505614 | \n",
" 1.377094 | \n",
"
\n",
" \n",
" 18 | \n",
" Slice | \n",
" Explorable | \n",
" 2 | \n",
" 1.099859 | \n",
" 1.473786 | \n",
" 1.282241 | \n",
"
\n",
" \n",
" 19 | \n",
" Slice | \n",
" Explorable | \n",
" 3 | \n",
" 2.579677 | \n",
" 1.517219 | \n",
" 1.592957 | \n",
"
\n",
" \n",
" 20 | \n",
" Slice | \n",
" Explorable | \n",
" 4 | \n",
" 3.388457 | \n",
" 1.547344 | \n",
" 1.674658 | \n",
"
\n",
" \n",
" 15 | \n",
" Isosurface | \n",
" Static | \n",
" 2 | \n",
" 1.094002 | \n",
" 1.729485 | \n",
" 1.905924 | \n",
"
\n",
" \n",
" 16 | \n",
" Isosurface | \n",
" Static | \n",
" 3 | \n",
" 1.320047 | \n",
" 2.011817 | \n",
" 2.055972 | \n",
"
\n",
" \n",
" 17 | \n",
" Isosurface | \n",
" Static | \n",
" 4 | \n",
" 1.515534 | \n",
" 2.267375 | \n",
" 2.163881 | \n",
"
\n",
" \n",
" 12 | \n",
" Isosurface | \n",
" Explorable | \n",
" 2 | \n",
" 1.043574 | \n",
" 1.281076 | \n",
" 1.506384 | \n",
"
\n",
" \n",
" 13 | \n",
" Isosurface | \n",
" Explorable | \n",
" 3 | \n",
" 2.452141 | \n",
" 2.834047 | \n",
" 2.512258 | \n",
"
\n",
" \n",
" 14 | \n",
" Isosurface | \n",
" Explorable | \n",
" 4 | \n",
" 3.158156 | \n",
" 3.538466 | \n",
" 2.810511 | \n",
"
\n",
" \n",
"
\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",
" Camera | \n",
" Workload | \n",
" Type | \n",
" Alg | \n",
" cinema | \n",
" cinema | \n",
" inverse | \n",
" inverse | \n",
" Surface | \n",
" Surface | \n",
"
\n",
" \n",
" \n",
" \n",
" 3 | \n",
" Balanced | \n",
" Static | \n",
" 2 | \n",
" 1.422565 | \n",
" 1.422565 | \n",
" 1.890235 | \n",
" 1.890235 | \n",
" 1.659178 | \n",
" 1.659178 | \n",
"
\n",
" \n",
" 4 | \n",
" Balanced | \n",
" Static | \n",
" 3 | \n",
" 1.640450 | \n",
" 1.640450 | \n",
" 1.892089 | \n",
" 1.892089 | \n",
" 1.732781 | \n",
" 1.732781 | \n",
"
\n",
" \n",
" 5 | \n",
" Balanced | \n",
" Static | \n",
" 4 | \n",
" 1.778707 | \n",
" 1.778707 | \n",
" 1.899919 | \n",
" 1.899919 | \n",
" 1.753938 | \n",
" 1.753938 | \n",
"
\n",
" \n",
" 0 | \n",
" Balanced | \n",
" Explorable | \n",
" 2 | \n",
" 1.249774 | \n",
" 1.249774 | \n",
" 1.867632 | \n",
" 1.867632 | \n",
" 1.568107 | \n",
" 1.568107 | \n",
"
\n",
" \n",
" 1 | \n",
" Balanced | \n",
" Explorable | \n",
" 3 | \n",
" 2.645806 | \n",
" 2.645806 | \n",
" 1.933246 | \n",
" 1.933246 | \n",
" 1.902263 | \n",
" 1.902263 | \n",
"
\n",
" \n",
" 2 | \n",
" Balanced | \n",
" Explorable | \n",
" 4 | \n",
" 3.297114 | \n",
" 3.297114 | \n",
" 1.939536 | \n",
" 1.939536 | \n",
" 1.971295 | \n",
" 1.971295 | \n",
"
\n",
" \n",
" 9 | \n",
" Imbalanced | \n",
" Static | \n",
" 2 | \n",
" 1.447747 | \n",
" 1.447747 | \n",
" 5.986203 | \n",
" 5.986203 | \n",
" 7.067441 | \n",
" 7.067441 | \n",
"
\n",
" \n",
" 10 | \n",
" Imbalanced | \n",
" Static | \n",
" 3 | \n",
" 1.696246 | \n",
" 1.696246 | \n",
" 8.241577 | \n",
" 8.241577 | \n",
" 9.081598 | \n",
" 9.081598 | \n",
"
\n",
" \n",
" 11 | \n",
" Imbalanced | \n",
" Static | \n",
" 4 | \n",
" 1.876108 | \n",
" 1.876108 | \n",
" 9.911399 | \n",
" 9.911399 | \n",
" 10.249954 | \n",
" 10.249954 | \n",
"
\n",
" \n",
" 6 | \n",
" Imbalanced | \n",
" Explorable | \n",
" 2 | \n",
" 1.206389 | \n",
" 1.206389 | \n",
" 2.539370 | \n",
" 2.539370 | \n",
" 3.158094 | \n",
" 3.158094 | \n",
"
\n",
" \n",
" 7 | \n",
" Imbalanced | \n",
" Explorable | \n",
" 3 | \n",
" 2.716107 | \n",
" 2.716107 | \n",
" 6.872191 | \n",
" 6.872191 | \n",
" 7.505288 | \n",
" 7.505288 | \n",
"
\n",
" \n",
" 8 | \n",
" Imbalanced | \n",
" Explorable | \n",
" 4 | \n",
" 3.531392 | \n",
" 3.531392 | \n",
" 9.828443 | \n",
" 9.828443 | \n",
" 10.101723 | \n",
" 10.101723 | \n",
"
\n",
" \n",
" 21 | \n",
" Slice | \n",
" Static | \n",
" 2 | \n",
" 1.177553 | \n",
" 1.177553 | \n",
" 1.294018 | \n",
" 1.294018 | \n",
" 1.303250 | \n",
" 1.303250 | \n",
"
\n",
" \n",
" 22 | \n",
" Slice | \n",
" Static | \n",
" 3 | \n",
" 1.430271 | \n",
" 1.430271 | \n",
" 1.471378 | \n",
" 1.471378 | \n",
" 1.354611 | \n",
" 1.354611 | \n",
"
\n",
" \n",
" 23 | \n",
" Slice | \n",
" Static | \n",
" 4 | \n",
" 1.584926 | \n",
" 1.584926 | \n",
" 1.505614 | \n",
" 1.505614 | \n",
" 1.377094 | \n",
" 1.377094 | \n",
"
\n",
" \n",
" 18 | \n",
" Slice | \n",
" Explorable | \n",
" 2 | \n",
" 1.099859 | \n",
" 1.099859 | \n",
" 1.473786 | \n",
" 1.473786 | \n",
" 1.282241 | \n",
" 1.282241 | \n",
"
\n",
" \n",
" 19 | \n",
" Slice | \n",
" Explorable | \n",
" 3 | \n",
" 2.579677 | \n",
" 2.579677 | \n",
" 1.517219 | \n",
" 1.517219 | \n",
" 1.592957 | \n",
" 1.592957 | \n",
"
\n",
" \n",
" 20 | \n",
" Slice | \n",
" Explorable | \n",
" 4 | \n",
" 3.388457 | \n",
" 3.388457 | \n",
" 1.547344 | \n",
" 1.547344 | \n",
" 1.674658 | \n",
" 1.674658 | \n",
"
\n",
" \n",
" 15 | \n",
" Isosurface | \n",
" Static | \n",
" 2 | \n",
" 1.094002 | \n",
" 1.094002 | \n",
" 1.729485 | \n",
" 1.729485 | \n",
" 1.905924 | \n",
" 1.905924 | \n",
"
\n",
" \n",
" 16 | \n",
" Isosurface | \n",
" Static | \n",
" 3 | \n",
" 1.320047 | \n",
" 1.320047 | \n",
" 2.011817 | \n",
" 2.011817 | \n",
" 2.055972 | \n",
" 2.055972 | \n",
"
\n",
" \n",
" 17 | \n",
" Isosurface | \n",
" Static | \n",
" 4 | \n",
" 1.515534 | \n",
" 1.515534 | \n",
" 2.267375 | \n",
" 2.267375 | \n",
" 2.163881 | \n",
" 2.163881 | \n",
"
\n",
" \n",
" 12 | \n",
" Isosurface | \n",
" Explorable | \n",
" 2 | \n",
" 1.043574 | \n",
" 1.043574 | \n",
" 1.281076 | \n",
" 1.281076 | \n",
" 1.506384 | \n",
" 1.506384 | \n",
"
\n",
" \n",
" 13 | \n",
" Isosurface | \n",
" Explorable | \n",
" 3 | \n",
" 2.452141 | \n",
" 2.452141 | \n",
" 2.834047 | \n",
" 2.834047 | \n",
" 2.512258 | \n",
" 2.512258 | \n",
"
\n",
" \n",
" 14 | \n",
" Isosurface | \n",
" Explorable | \n",
" 4 | \n",
" 3.158156 | \n",
" 3.158156 | \n",
" 3.538466 | \n",
" 3.538466 | \n",
" 2.810511 | \n",
" 2.810511 | \n",
"
\n",
" \n",
"
\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": [
" "
]
},
"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": [
" "
]
},
"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
}