Find Jobs
Hire Freelancers

Sankey diagrams with Python for the web

$250-750 USD

In Progress
Posted almost 9 years ago

$250-750 USD

Paid on delivery
Sankey diagrams are a neat way to display, e.g., heat and energy fluxes. With [login to view URL], there exists a library to easily create such visualizations [1]. The objective of this project is to bring Sankey diagrams to the web and make them interactive. The library mpld3 [2] can be used to turn the matplotlib diagrams into d3js (svg) graphics. We have tested mpld3 with sankey diagrams and it works out of the box, see attachment. There are, however, some aspects that are not optimal and should be improved / investigated within this project. Scope: - Setup a simple Python webserver that makes available the sankey diagram given in [1] via [2]. Use whatever framework you prefer, the simpler the better (why not bottle? [3]). - Draw the Sankey diagram on a website and add input fields for the 19 different fluxes; prepopulate the fields with the values given on the script - If the fields are changed and a "redraw" button is pressed, the Sankey diagram is updated - Optimize the look and feel: - Remove axes lines - Optimize font size as well as font weight (original diagram from [1] has some text written in bold face) - The Sankey diagram should use the full width of the browser window. If the browser windows is resized, however, the diagram should be redrawn. The font size should not change if the user zooms References: [1] [login to view URL] [2] [login to view URL] [3] [login to view URL]
Project ID: 8067478

About the project

5 proposals
Remote project
Active 9 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
Hi, Matt here and since I'm bidding on your other project (heatmaps) only few paragraphs are below. I understand all the requirements (with the setup, excluded from points below): 1. Added input fields for fluxes, filled (prepopulated) with values from the input script. 2. Auto redraw the layout if the "Redraw" button is pressed. 3. Axes lines removed. 4. Styling font size and weights. 5. Redrawing diagram on resize (browser) event. 6. Zooming keeps the text size (so selective zoom in D3.js, tricky yet can be done using classes). UPDATE: This is optional yet best effort will be used since zooming the whole diagram affects text sizes. Looking forward to your reply. Partial milestones can be added. Matt
$390 USD in 10 days
4.8 (49 reviews)
6.0
6.0
5 freelancers are bidding on average $632 USD for this job
User Avatar
Hello! We are a team of Python/PHP/JS/MySQL experts. Reliable and creative. We are good with linux environment. We see the project rather clear: install bottle or django framework, make some predefined pages with inputs for custom parameters, then put some inner pages which will render diagrams, and call them through ajax with given params. We think we can use just basic jQuery stuff for determining redrawing events. Do you need any login area, CMS or anything else except diagrams calculators? We will be happy to help you. We are ready to start today! Regards
$700 USD in 20 days
5.0 (40 reviews)
6.6
6.6
User Avatar
A proposal has not yet been provided
$588 USD in 10 days
4.8 (10 reviews)
5.6
5.6

About the client

Flag of SWITZERLAND
Baar, Switzerland
5.0
49
Payment method verified
Member since Jan 25, 2010

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.