from os import listdir import numpy as np import plotly.graph_objects as go from scipy.interpolate import interp1d thread = [] fork = [] read = [] write = [] mmap_munmap = [] send = [] recv = [] page_fault = [] filenames = [] for filename in listdir('output'): filenames.append(filename) with open('output/' + filename) as f: content = f.readlines() new_dict = dict() for line in content[1:]: new_dict[line.split(',')[0]] = int(line.split(',')[2]) thread.append(new_dict['thread']) fork.append(new_dict['fork']) read.append(new_dict['read']) write.append(new_dict['write']) mmap_munmap.append(new_dict['mmap_munmap']) send.append(new_dict['send']) recv.append(new_dict['recv']) page_fault.append(new_dict['page_fault']) headerColor = 'grey' rowEvenColor = 'lightgrey' rowOddColor = 'white' colors = [ 'rgb(0, 255, 0)', 'rgb(225, 255, 77)', 'rgb(212, 255, 77)', 'rgb(255, 255, 51)', 'rgb(255, 255, 0)', 'rgb(212, 255, 0)', 'rgb(255, 221, 51)', 'rgb(255, 102, 25)', 'rgb(255, 42, 0)' ] threadcolorfilter = interp1d([min(thread), max(thread)], [0, 8]) threadcolor = [int(threadcolorfilter(x)) for x in thread] forkcolorfilter = interp1d([min(fork), max(fork)], [0, 8]) forkcolor = [int(forkcolorfilter(x)) for x in fork] readcolorfilter = interp1d([min(read), max(read)], [0, 8]) readcolor = [int(readcolorfilter(x)) for x in read] writecolorfilter = interp1d([min(write), max(write)], [0, 8]) writecolor = [int(writecolorfilter(x)) for x in write] mmap_munmapcolorfilter = interp1d([min(mmap_munmap), max(mmap_munmap)], [0, 8]) mmap_munmapcolor = [int(mmap_munmapcolorfilter(x)) for x in mmap_munmap] sendcolorfilter = interp1d([min(send), max(send)], [0, 8]) sendcolor = [int(sendcolorfilter(x)) for x in send] recvcolorfilter = interp1d([min(recv), max(recv)], [0, 8]) recvcolor = [int(recvcolorfilter(x)) for x in recv] page_faultcolorfilter = interp1d([min(page_fault), max(page_fault)], [0, 8]) page_faultcolor = [int(page_faultcolorfilter(x)) for x in page_fault] fig = go.Figure( data=[go.Table( columnorder=[1, 2, 3, 4, 5, 6, 7, 8, 9], columnwidth=[10, 4, 4, 4, 4, 4, 4, 4, 4], header=dict( values=[ "filenames", "thread", "fork", "read", "write", "mmap_munmap", "send", "recv", "page_fault" ], line_color='darkslategray', fill_color=headerColor, align=['left', 'center'], font=dict(color='white', size=13) ), cells=dict( values=[ filenames, thread, fork, read, write, mmap_munmap, send, recv, page_fault, ], line_color='darkslategray', fill_color=[ rowOddColor, np.array(colors)[threadcolor], np.array(colors)[forkcolor], np.array(colors)[readcolor], np.array(colors)[writecolor], np.array(colors)[mmap_munmapcolor], np.array(colors)[sendcolor], np.array(colors)[recvcolor], np.array(colors)[page_faultcolor], ], align=['left', 'center'], font=dict(color='darkslategray', size=13) ) )] ) fig.show()