{"id":162,"date":"2024-05-25T13:26:51","date_gmt":"2024-05-25T13:26:51","guid":{"rendered":"http:\/\/bentus\/?p=162"},"modified":"2024-05-26T15:11:58","modified_gmt":"2024-05-26T15:11:58","slug":"google-soc-bivariate-colormaps","status":"publish","type":"post","link":"http:\/\/bentus\/google-soc-bivariate-colormaps\/","title":{"rendered":"Google SoC – Bivariate colormaps"},"content":{"rendered":"\n

I have been accepted to Google Summer of Code<\/a>!
Over the summer I will be working for Numfocus on Bivariate colormaps for matplotlib a
feature that has been requested for a long time<\/a>.<\/p>\n\n\n\n


If you are not familiar with bivariate color maps, they come in handy to visualize complex numbers, here exemplified by the
Mandelbrot<\/a> set:<\/p>\n\n\n\n

\"\"<\/figure>\n\n\n\n\n\n\n\n

But bivariate colormaps are not limited to the number plane, and have a number of uses in different disciplines. Where the above graph shows correlated data (complex numbers), the figure below uses a bivariate colormap to visualize two independent datasets, GDP per capita, and growth (data source<\/a>):<\/p>\n\n\n\n

\"\"<\/figure>\n\n\n\n

Implementing bivariate colormaps in matplotlib requires adding functionality deep in the class hierarchy. By making these changes, it will be easy to also implement multivariate colormaps for visualizing more than two images\/datasets together, as with the cells shown below (data source<\/a>):<\/p>\n\n\n\n

\"\"<\/figure>\n\n\n\n

There is a lot of work to be done, both on the implementation side of things, and for designing suitable colormaps. Check out the development branch<\/a> if you want to compare the changes yourself!<\/p>\n\n\n\n

\"\"<\/figure>\n","protected":false},"excerpt":{"rendered":"

I have been accepted to Google Summer of Code!Over the summer I will be working for Numfocus on Bivariate colormaps for matplotlib a feature that has been requested for a long time. If you are not familiar with bivariate color maps, they come in handy to visualize complex numbers, here exemplified by the Mandelbrot set:<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":true,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-162","post","type-post","status-publish","format-standard","hentry","category-uncategorized","clear"],"_links":{"self":[{"href":"http:\/\/bentus\/wp-json\/wp\/v2\/posts\/162"}],"collection":[{"href":"http:\/\/bentus\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bentus\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bentus\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/bentus\/wp-json\/wp\/v2\/comments?post=162"}],"version-history":[{"count":6,"href":"http:\/\/bentus\/wp-json\/wp\/v2\/posts\/162\/revisions"}],"predecessor-version":[{"id":174,"href":"http:\/\/bentus\/wp-json\/wp\/v2\/posts\/162\/revisions\/174"}],"wp:attachment":[{"href":"http:\/\/bentus\/wp-json\/wp\/v2\/media?parent=162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bentus\/wp-json\/wp\/v2\/categories?post=162"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bentus\/wp-json\/wp\/v2\/tags?post=162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}