{"id":44,"date":"2007-10-01T00:25:11","date_gmt":"2007-10-01T05:25:11","guid":{"rendered":"http:\/\/www.visophyte.org\/blog\/2007\/10\/01\/cairo-bakes-pretty-pies\/"},"modified":"2009-04-01T08:20:31","modified_gmt":"2009-04-01T13:20:31","slug":"cairo-bakes-pretty-pies","status":"publish","type":"post","link":"https:\/\/www.visophyte.org\/blog\/2007\/10\/01\/cairo-bakes-pretty-pies\/","title":{"rendered":"Cairo bakes Pretty Pies"},"content":{"rendered":"<p>Vacation found me actually relaxing, but some pretty progress has been had.  I forgot to push my 64-bit aggdraw patches to the laptop I brought, so I implemented a cairo renderer.  This has resulted in some backend cleanup and refactoring, although there is  more to do.  This also allows for attractive use of gradients:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2007\/09\/pretty-pie.png\" alt=\"pretty-pie.png\" \/><\/p>\n<p>The changes to the pie-chart rendering are based on an Illustrator tutorial on <a href=\"http:\/\/www.modernlifeisrubbish.co.uk\/article\/howto-make-pretty-pie-charts\">how to make pretty pie charts<\/a>.  Although the pie chart has long known how to label itself and is now more competent at it, labels still overlap so they have been mercilessly disabled in this picture.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2007\/10\/pretty-graphito-pies-python-dev-2007-july-twopi-fancy.png\" alt=\"pretty-graphito-pies-python-dev-2007-july-twopi-fancy.png\" \/><\/p>\n<p>This is a graph of the python-dev traffic (from the mailman archive) for July 2007 once more.  This time:<\/p>\n<ul>\n<li>The nodes are authors.\n<ul>\n<li>The radius of the node is a linear mapping lower bounded at 8 and upper-bounded at 24 based on the number of messages the author wrote during the time period.<\/li>\n<li>The pie slices are the threads the author replied to\/started during the month.\n<ul>\n<li>Their weights are the number of messages they wrote involved in that thread.<\/li>\n<li>Their colors are distinctly colored.  Because the previous distinct color mechanism clearly fell down by providing colors which were too similar, I did a first pass at varying the saturation in addition to varying the hue.  Varying value\/brightness seemed a little too distracting, but it might be okay with less severe variations.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>The edges indicate that the author replied to a message by another author.\n<ul>\n<li>The width is (linearly) based on the number of times the user replied to the other author.<\/li>\n<li>The color is always 25% opaque 50%-gray.  Since the edges are effectively directed (but not visually distinguished), a case in which two authors replied to each other will result in a darker gray, at least in the region of overlap (since width can vary).<\/li>\n<\/ul>\n<\/li>\n<li>The layout is <a href=\"http:\/\/www.graphviz.org\/\">graphviz<\/a>&#8216;s twopi.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Vacation found me actually relaxing, but some pretty progress has been had. I forgot to push my 64-bit aggdraw patches to the laptop I brought, so I implemented a cairo renderer. This has resulted in some backend cleanup and refactoring, &hellip; <a href=\"https:\/\/www.visophyte.org\/blog\/2007\/10\/01\/cairo-bakes-pretty-pies\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[5,13,4],"tags":[128,39],"class_list":["post-44","post","type-post","status-publish","format-standard","hentry","category-email","category-shiny","category-visualizing","tag-shiny","tag-visophyte"],"_links":{"self":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/44","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/comments?post=44"}],"version-history":[{"count":1,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/44\/revisions"}],"predecessor-version":[{"id":240,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/44\/revisions\/240"}],"wp:attachment":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/media?parent=44"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/categories?post=44"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/tags?post=44"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}