{"id":678,"date":"2008-12-28T23:33:33","date_gmt":"2008-12-28T22:33:33","guid":{"rendered":"http:\/\/www.jurecuhalev.com\/blog\/?p=678"},"modified":"2008-12-28T23:33:33","modified_gmt":"2008-12-28T22:33:33","slug":"koornk-network-graph-with-pretty-pictures","status":"publish","type":"post","link":"https:\/\/www.jurecuhalev.com\/blog\/koornk-network-graph-with-pretty-pictures\/","title":{"rendered":"Koornk network graph with pretty pictures"},"content":{"rendered":"<p>Continuing my saga of visualizing Koornk social network I decided that obvious next step is to map out who talks to who and how much. For this task I used excellent Python library <a href=\"http:\/\/networkx.lanl.gov\/\">NetworkX<\/a> that uses <a href=\"http:\/\/networkx.lanl.gov\/pygraphviz\/\">pygraphviz<\/a> to draw the pretty pictures in the end.<\/p>\n<p>Just to explain what you&#8217;re looking at:<\/p>\n<ul>\n<li>I downloaded all public conversations from Koornk and filtered out to the ones that use @ somewhere to reference someone else<\/li>\n<li>You need to all-together reference or be referenced 60 times to get on the list (70 people from 1606 made it)<\/li>\n<li>From those 70 people, if two of them talked more then 40-times they got a line between each other<\/li>\n<li>Line thickness is then calculated based on how much they talked to each other<\/li>\n<li>Circle size around each person tells you their cumulative chatter towards others<\/li>\n<\/ul>\n<p>Fun statistic: about 22% of all message looked at (N=81990), contained @ reference<\/p>\n<p><strong>Pretty pictures<\/strong><\/p>\n<p style=\"text-align: center;\">\n<p style=\"text-align: center;\">\n<figure id=\"attachment_679\" aria-describedby=\"caption-attachment-679\" style=\"width: 553px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.jurecuhalev.com\/blog\/wp-content\/uploads\/2008\/12\/chatter3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-679  \" title=\"Top down view of all the 70 people who made the cut (click for bigger version)\" src=\"https:\/\/www.jurecuhalev.com\/blog\/wp-content\/uploads\/2008\/12\/chatter3-1023x755.png\" alt=\"Top down view of all the 70 people who made the cut (click for bigger version)\" width=\"553\" height=\"408\" srcset=\"https:\/\/www.jurecuhalev.com\/blog\/wp-content\/uploads\/2008\/12\/chatter3-1023x755.png 1023w, https:\/\/www.jurecuhalev.com\/blog\/wp-content\/uploads\/2008\/12\/chatter3-300x221.png 300w, https:\/\/www.jurecuhalev.com\/blog\/wp-content\/uploads\/2008\/12\/chatter3.png 1382w\" sizes=\"auto, (max-width: 553px) 100vw, 553px\" \/><\/a><figcaption id=\"caption-attachment-679\" class=\"wp-caption-text\">Top down view of all the 70 people who made the cut (click for bigger version)<\/figcaption><\/figure>\n<p>It turns out that there&#8217;s a smaller group of very vocal people within this view, so we naturally want to see zoomed version:<\/p>\n<p style=\"text-align: center;\">\n<figure id=\"attachment_680\" aria-describedby=\"caption-attachment-680\" style=\"width: 502px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.jurecuhalev.com\/blog\/wp-content\/uploads\/2008\/12\/chatter4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-680   \" title=\"Who talks to who on Koornk and how much\" src=\"https:\/\/www.jurecuhalev.com\/blog\/wp-content\/uploads\/2008\/12\/chatter4-1024x727.png\" alt=\"Who talks to who on Koornk and how much (click for bigger version)\" width=\"502\" height=\"356\" srcset=\"https:\/\/www.jurecuhalev.com\/blog\/wp-content\/uploads\/2008\/12\/chatter4-1024x727.png 1024w, https:\/\/www.jurecuhalev.com\/blog\/wp-content\/uploads\/2008\/12\/chatter4-300x213.png 300w, https:\/\/www.jurecuhalev.com\/blog\/wp-content\/uploads\/2008\/12\/chatter4.png 1435w\" sizes=\"auto, (max-width: 502px) 100vw, 502px\" \/><\/a><figcaption id=\"caption-attachment-680\" class=\"wp-caption-text\">Who talks to who on Koornk and how much (click for bigger version)<\/figcaption><\/figure>\n<p style=\"text-align: left;\"><strong>Lessons learned<\/strong><\/p>\n<ul>\n<li>It takes about two days to properly get a hang of NetworkX library to draw something like that. It doesn&#8217;t mean you know anything about <a class=\"zem_slink\" title=\"Graph theory\" rel=\"wikipedia\" href=\"http:\/\/en.wikipedia.org\/wiki\/Graph_theory\">graph theory<\/a>, but at least you can start drawing pretty pictures.<\/li>\n<li>Pictures are fun, but next step is probably interactive Flash diagram that allows you to explore these relationship for yourself<\/li>\n<li>Throwing around these data structures actually takes a few seconds on modern PC. Finally something meaningful for it to process.<\/li>\n<li>I wonder how much work would be to properly plot something like this for a subset of <a class=\"zem_slink\" title=\"Twitter\" rel=\"homepage\" href=\"http:\/\/twitter.com\">Twitter<\/a> relationship if I maybe drink from their fire-hose long enough. Maybe <a class=\"zem_slink\" title=\"Gnip\" rel=\"homepage\" href=\"http:\/\/gnipcentral.com\">Gnip<\/a> guys can fill up a few Terabytes of Hard Drives with back log, if they have it and we start crunching this. (I&#8217;m\u00a0 assuming that there&#8217;s already a post-graduate student somewhere that&#8217;s doing exactly this)<\/li>\n<\/ul>\n<div class=\"zemanta-pixie\" style=\"margin-top: 10px; height: 15px;\"><a class=\"zemanta-pixie-a\" title=\"Zemified by Zemanta\" href=\"http:\/\/reblog.zemanta.com\/zemified\/816408bd-1031-4732-814a-d3ff0aa562cc\/\"><img decoding=\"async\" class=\"zemanta-pixie-img\" style=\"border: medium none; float: right;\" src=\"http:\/\/img.zemanta.com\/reblog_e.png?x-id=816408bd-1031-4732-814a-d3ff0aa562cc\" alt=\"Reblog this post [with Zemanta]\" \/><\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Continuing my saga of visualizing Koornk social network I decided that obvious next step is to map out who talks to who and how much. For this task I used excellent Python library NetworkX that uses pygraphviz to draw the pretty pictures in the end. Just to explain what you&#8217;re looking at: I downloaded all [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[15,14],"tags":[624,443,421,940],"class_list":["post-678","post","type-post","status-publish","format-standard","hentry","category-python","category-tech","tag-graph-theory","tag-koornk","tag-social-network","tag-visualization"],"acf":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/posts\/678","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/comments?post=678"}],"version-history":[{"count":6,"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/posts\/678\/revisions"}],"predecessor-version":[{"id":686,"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/posts\/678\/revisions\/686"}],"wp:attachment":[{"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/media?parent=678"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/categories?post=678"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/tags?post=678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}