{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Overview\n", "Analyze the interdependcies between classes as output from Roaster data. \n", "\n", "This notebook is authored by Paul Bastide. \n", "No warranty. Provided as-is. \n", "\n", "### Documentation\n", "https://networkx.github.io/documentation/networkx-1.9/reference/generated/networkx.drawing.layout.spring_layout.html\n", "https://networkx.github.io/documentation/latest/auto_examples/drawing/plot_unix_email.html " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Collecting plotly\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/63/2b/4ca10995bfbdefd65c4238f9a2d3fde33705d18dd50914dd13302ec1daf1/plotly-4.1.0-py2.py3-none-any.whl (7.1MB)\n", "\u001b[K |████████████████████████████████| 7.1MB 6.2MB/s eta 0:00:01 |██████████▊ | 2.4MB 636kB/s eta 0:00:08\n", "\u001b[?25hCollecting networkx\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/85/08/f20aef11d4c343b557e5de6b9548761811eb16e438cee3d32b1c66c8566b/networkx-2.3.zip (1.7MB)\n", "\u001b[K |████████████████████████████████| 1.8MB 5.1MB/s eta 0:00:01\n", "\u001b[?25hCollecting retrying>=1.3.3 (from plotly)\n", " Downloading https://files.pythonhosted.org/packages/44/ef/beae4b4ef80902f22e3af073397f079c96969c69b2c7d52a57ea9ae61c9d/retrying-1.3.3.tar.gz\n", "Requirement already satisfied: six in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from plotly) (1.12.0)\n", "Requirement already satisfied: decorator>=4.3.0 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from networkx) (4.3.0)\n", "Installing collected packages: retrying, plotly, networkx\n", " Running setup.py install for retrying ... \u001b[?25ldone\n", "\u001b[?25h Running setup.py install for networkx ... \u001b[?25ldone\n", "\u001b[?25hSuccessfully installed networkx-2.3 plotly-4.1.0 retrying-1.3.3\n", "\u001b[33mWARNING: You are using pip version 19.1.1, however version 19.2.1 is available.\n", "You should consider upgrading via the 'pip install --upgrade pip' command.\u001b[0m\n" ] } ], "source": [ "!pip install plotly networkx" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import plotly.graph_objects as go\n", "import networkx as nx" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "df = pd.read_csv('diagram.csv', header = None) " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "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", "
01
0org.bastide.RuntimeHelper,org.bastide.WebApplication
1HelperSearch1,Search2
2org.bastide.WebApplicationWebException,Validator,Search1,Search2
3org.bastide.WebExceptionSearch1,Search2,Validator,Validator
\n", "
" ], "text/plain": [ " 0 1\n", "0 org.bastide.Runtime Helper,org.bastide.WebApplication\n", "1 Helper Search1,Search2\n", "2 org.bastide.WebApplication WebException,Validator,Search1,Search2\n", "3 org.bastide.WebException Search1,Search2,Validator,Validator" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "G = nx.MultiDiGraph()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "for input0, output0, in zip(df[0],df[1]):\n", " output0 = \"\" + str(output0)\n", " if output0:\n", " outputs = output0.split(',')\n", " for output in outputs: \n", " G.add_edge(input0,output, message=input0)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(3,figsize=(10,10)) \n", "pos = nx.spring_layout(G, iterations=50)\n", "\n", "nx.draw(G, pos, node_size=0, alpha=0.4, edge_color='b', font_size=10, with_labels=True)\n", "\n", "plt.draw()\n", "plt.savefig(\"diagram-network.png\")" ] } ], "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.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }