Skip to content

Instantly share code, notes, and snippets.

@zurk
Created November 15, 2016 21:20
Show Gist options
  • Save zurk/c4742153d8523795ff58cf3b3baeb5fe to your computer and use it in GitHub Desktop.
Save zurk/c4742153d8523795ff58cf3b3baeb5fe to your computer and use it in GitHub Desktop.
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"import seaborn as sns\n",
"import networkx as nx\n",
"from matplotlib import pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"with open('data kate.csv') as f:\n",
" vs = f.readline()[:-1].split(';')[1:] # вершины\n",
" A = np.zeros(shape=(len(vs),len(vs)))\n",
" for indx, line in enumerate(f):\n",
" for i, w in enumerate(line.split(';')[1:]):\n",
" try:\n",
" A[indx, i] = int(w)\n",
" except:\n",
" pass\n",
"A = A + A.T - np.diag(np.diag(A))"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x2656deeffd0>"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\ntgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x2656defa208>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(8,8))\n",
"sns.heatmap(A, xticklabels=vs, yticklabels=vs, square=True, annot=False)"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x2656da6db00>"
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n8aXAxyLik8B1wEOBxwGHNx2YJEltG1spZua3gccAnwe2Ay4H9s7M77YQmyRpRgwGg0Zubau8YCYz\nbwP+oYVYJEnqlFeRSpJq68l1Nv1NinXaIC3X1jB137ffc7VlubY5U/N6mxQlSe3p4vxfE0yKkqTa\n5vqRE+2SIUnSkElRkqSSSVGSpNLYc4oR8YzFnsvMc5Y+HEnSLOriQpuIGACnA7sDvwROzMzrR57f\nA3hL+fCHwLGZefu4Y1ZVijuP3F4zcv/hm/MGJElaQkcA22bm3sApwKkLnj8T+N+ZuR9wCbBj1QHH\nVoqZecrwfkTsOfpYkqShjmZk7EOR7MjML0bEquETEfHbwE3AiyPiEcBFmXlt1QGnOac4P2WwkqRl\nYm4waORWYSVlr9/ShogY5rV7AXsBbwMOBg6OiAMq38f0b12SpC3CWmDFyOO5zNxY3r8JuC4zv5mZ\nGygqylULD7BQ1YU251NUiANg14g4b/hcZh49ZfCSpJ7qaEWbNcCTgAsjYk/g6pHnrgfuHhEPLS++\n2Rc4q+qAVSvanLHIfUmSuvZh4JCIWFM+Pj4ijgK2y8yzIuIE4PyIAPh8Zl5cdcCqC21W141YkqQm\nZOY8cNKCzd8cef7TwO9Nc0zXPpUk1daT9cC90EaSpKHeVor2S2tfne953f54dXTZR3IpXn85svfn\nlqcvraOsFCVJKvW2UpQktacnhaKVoiRJQ1aKkqTaJliSbSZYKUqSVDIpSpJUcvhUklRbT0ZPKxcE\n/wK/2jJqAMyXTR0lSeqNqkrx6a1EIUmaaX2ZvF+1IPgNbQUiSVLXPKcoSaqtJ4WiSVGSVF9fhk+d\nkiFJUsmkKElSyaQoSVLJc4qSpNp6ckrRSlGSpCErRUlSbX3pkmFSlCTV1pOc6PCpJElDm5UUI+Jh\nSx2IJGl2DQaDRm5t29xK8bwljUKSpC3A5ibFnoweS5J0p81Nigt7LEqSNPOqmgyfz6abDD+0sYgk\nSTOnL1efVk3JOGPK7ZKkZagvXTKqmgyvbisQSZK65uR9SVJtPSkUnbwvSdKQlaIkqbZlcU6xS6se\neWSt/S+/+kNLFEm76r7vOrr8nnX52sv1Z205m9WfN3/WmufwqSRJpS22UpQkzY6ejJ5aKUqSNGSl\nKEmqrS8X2oytFCPiNxfZvn8z4UiS1J2q4dN/ioh7jW6IiJcD72suJEnSrBkMmrm1rWr49DXAxRHx\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x26569fc2da0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(8,8))\n",
"sns.heatmap(A>0, xticklabels=vs, yticklabels=vs, square=True)"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"G = nx.Graph(A>0)"
]
},
{
"cell_type": "code",
"execution_count": 137,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAnAAAAJiCAYAAABHDf8zAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4lPW9///nzGQmE5LJCklI2JJAAAXCErSgGMFqqx4Q\ntD3qcalLa4799Xuqoj21btH2eGq1PZ7aY6WraK1abQ3gvrBUKKUEIRGEJOwhJCSBLJPlTiZz378/\nSKaEBAhLlklej+viwtzbfO5edXzls7w/NsuyLEREREQkaNj7ugEiIiIicnoU4ERERESCjAKciIiI\nSJBRgBMREREJMgpwIiIiIkFGAU5EREQkyCjAiYiIiAQZBTgRERGRIKMAJyIiIhJkFOBEREREgowC\nnIiIiEiQUYATERERCTIKcCIiIiJBRgFOREREJMgowImIiIgEGQU4ERERkSCjACciIiISZBTgRERE\nRIKMApyIiIhIkFGAExEREQkyCnAiIiIiQUYBTkRERCTIKMCJiIiIBBkFOBEREZEgowAnIiIiEmQU\n4ERERESCjAKciIiISJBRgBMREREJMgpwIiIiIkFGAU5EREQkyCjAiYiIiAQZBTgRERGRIKMAJyIi\nIhJkFOBEREREgowCnIiIiEiQUYATERERCTIKcCIiIiJBRgFOREREJMgowImIiIgEGQU4ERERkSCj\nACciIiISZBTgRERERIKMApyIiIhIkFGAExEREQkyCnAiIiIiQUYBTkRERCTIKMCJiIiIBBkFOBER\nEZEgowAnIiIiEmQU4ERERESCjAKciIiISJBRgBMREREJMgpwIiIiIkFGAU5EREQkyCjAiYiIiAQZ\nBTgRERGRIKMAJyIiIhJkFOBEREREgowCnIiIiEiQUYATERERCTIKcCIiIiJBRgFOREREJMgowImI\niIgEGQU4ERERkSCjACciIiISZBTgRERERIKMApyIiIhIkFGAExEREQkyCnAiIiIiQUYBTkRERCTI\nKMCJiIiIBBkFOBEREZEgowAnIiIiEmQU4ERERESCjAKciIiISJBRgBMREREJMgpwIiIiIkFGAU5E\nREQkyCjAiYiIiAQZBTgRERGRIKMAJyIiIhJkFOBEREREgowCnIiIiEiQUYATERERCTIKcCIiIiJB\nJqSvGyAiInIuGYZBfm4uFBWBYYDbDenpZCxciNvt7uvmiZwTNsuyrL5uhIiIyNkyTZP1S5bgXrOG\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x26570489d30>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(8,8))\n",
"nx.draw(G, pos=nx.layout.fruchterman_reingold_layout(G, k=0.075), labels=dict((i,v) for i,v in enumerate(vs)), alpha=0.7, width=2, node_size=200)"
]
},
{
"cell_type": "code",
"execution_count": 134,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['A', 'S']\n",
"['R', 'K', 'Q']\n",
"['N', 'H']\n",
"['N', 'D', 'B']\n",
"['N', 'S']\n",
"['C']\n",
"['E', 'Z', 'D', 'B']\n",
"['E', 'Z', 'K', 'Q']\n",
"['G']\n",
"['H', 'Y']\n",
"['I', 'L', 'V', 'M']\n",
"['F', 'W', 'Y']\n",
"['P']\n",
"['S', 'T']\n",
"['X']\n"
]
}
],
"source": [
"for q in nx.clique.find_cliques(G):\n",
" print([vs[i] for i in q])"
]
}
],
"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.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment