We've always believed that data should be democratized, that giving non-technical users direct access to data they need to make decisions is key to making businesses (and hence our world) more efficient. We've also believed that data visualization is key in helping people better understand their data. That's why we built Polychart: to give non-technical users, especially those in small & medium sized online businesses, tools to explore, visualize, and understand data.
We also realized that the best way to help both our technical and non-technical users is to make Polychart open source. This means that it is about to become a lot easier to host Polychart on-premise, connect directly to your data sources, and explore data in a secure environment that you control.
What this means to you
Polychart Builder is licensed under GPL Affero. This license allows you to download and deploy Polychart securely on a server that you control. You are free to use Polychart as an internal data exploration and dashboarding tool, as you see fit. If you do significantly modify Polychart in any way, you should make those changes available to others who may be able to benefit from it.
Other Use Cases & Licenses
If you would like to provide Polychart as a tool for your clients (e.g. as SaaS), you still can. While this is not covered under the GPL Affero license, we do have OEM licenses available. Contact us to find out more at sales@polychart.com.
How to download & install
You can download Polychart at http://www.polychart.com/download. Unzip the file and run the `install.py` script.
At Polychart we are passionate about visualizing data. This blog features product news, articles, as well as our own analyses and visualizations of datasets we find interesting.
Tuesday, 11 February 2014
Wednesday, 7 August 2013
Tables, tables everywhere...
Over the last week we rolled out a few new functionalities for Polychart's dashboarding tool. You can now preview the data tables you're working with, and add numerals and tables as items on your dashboards.
When working with a new data set, it's helpful to get a glimpse of what the underlying data really look like. That's why being able to see a portion of the raw data is one of the most requested features. Simply hover over the table you want to view, and click the "Preview Table" button. You'll see the first 100 rows of your working data in its original, unfiltered form, including all columns.
Here is an example pulled from our Demo Dashboard.
The table preview we discussed is helpful for understanding the raw data, but cannot be included on actual dashboards. So we have added tables and pivot tables, which can be placed on the dashboards.
To create a table, click "MAKE Table" and choose at least one categorical or date column, and one numeric column. Numeric values can be aggregated (e.g. summed, averaged, or counted per category), giving tables similar expressiveness as charts.
Sometimes a single number is what really matters - total user signups, email sends over the last week, etc. To create a single numeral, use "MAKE Number".
Below is an example. Here we're looking at a count of total content created, and we can further filter the numeral, as shown below.
We are continually improving our tools for our users. As always, we love to hear your feedback and suggestions.
For all of these updates and more, sign up (if you haven't already) and check out the Polychart dashboard!
Preview Table
Here is an example pulled from our Demo Dashboard.
Tables & Pivot Tables
To create a table, click "MAKE Table" and choose at least one categorical or date column, and one numeric column. Numeric values can be aggregated (e.g. summed, averaged, or counted per category), giving tables similar expressiveness as charts.
To create a pivot table, click "CUSTOM Table", or "EDIT Table" on any existing table on your dashboards. There you will be able to add one or more columns, rows, values, or filters - giving much more flexibility than the above menu. You'll see that the table we created in the above menu is really a special case of pivot tables, developed to quickly make common types of tables.
Numerals
Below is an example. Here we're looking at a count of total content created, and we can further filter the numeral, as shown below.
For all of these updates and more, sign up (if you haven't already) and check out the Polychart dashboard!
Thursday, 11 July 2013
An update from the Polychart Team
The Polychart blog has been quiet for the last couple of months, but our office has been anything but. During the past few months the team relocated to Toronto/Canada to take part in the Extreme Startups accelerator program. We've since released new versions of Polychart.js and the main Polychart dashboarding tool that was in the works since late last year.
With the new tool, we hope to enable businesses to connect to one or more data sources, and visualize data from across these sources. We also hope to enable non-technical users to understand data visually through our drag-and-drop tool.
Our data source support currently include MySQL, PostgreSQL, Salesforce and Google Analytics (newly added last week!). CSV document uploads are in the pipeline, which would make it easier to visualize spreadsheets.
If you haven't taken Polychart out for a spin yet, you should do it now. While the product is in beta you can use Polychart for free on polychart.com. As always your comments and feedback are much appreciated.
With the new tool, we hope to enable businesses to connect to one or more data sources, and visualize data from across these sources. We also hope to enable non-technical users to understand data visually through our drag-and-drop tool.
Nima, CTO of Koge Vitamins, analyzing survey results using Polychart
Our data source support currently include MySQL, PostgreSQL, Salesforce and Google Analytics (newly added last week!). CSV document uploads are in the pipeline, which would make it easier to visualize spreadsheets.
If you haven't taken Polychart out for a spin yet, you should do it now. While the product is in beta you can use Polychart for free on polychart.com. As always your comments and feedback are much appreciated.
Wednesday, 10 April 2013
Licensing Model of Polychart.js
Yesterday on Hacker News we received quite a bit of feedback regarding the licensing model for Polychart.js. While we initially thought that a per-developer model is something everyone will be familiar with, the community found it confusing and difficult to manage. So we have moved to a new licensing model.
Polychart.js can now be licensed under a per-domain or per-company license. We continue to offer discounts to startups (as we're one ourself!). We hope that Polychart.js will help developers create better interactive visualizations with less time.
Let us know if you have additional feedback!
Polychart.js can now be licensed under a per-domain or per-company license. We continue to offer discounts to startups (as we're one ourself!). We hope that Polychart.js will help developers create better interactive visualizations with less time.
Let us know if you have additional feedback!
Tuesday, 9 April 2013
Introducing Polychart.js Version 2
After a long wait, the version 2 of Polychart.js is finally here. We completely re-engineered and rebuilt Polychart.js, so that we can pack it with requested features that never made it to the original version of Polychart.js. As a result, this new version of Polychart.js is very, very different from the original charting library - so much that it has its own git repository. What can you expect from Polychart.js Version 2?
Flexible Grammar
Similar to the original Polychart.js, much of the design is inspired by The Grammar of Graphic and the R package ggplot2. However, instead of chart being specified in an object-oriented fashion, we've moved to using JSON to specify charts. This makes it a lot easier to save or serialize charts, and is a more natural workflow for JavaScript developers.
A True Interaction Model
The most highly requested Polychart.js feature was interaction, and so we built a flexible, event-based interaction model straight into Polychart.js. This is a truly unique feature of Polychart.js. When high level charting libraries call themselves "interactive", they typically refer to simple interactions like displaying tooltips on mouseover. Polychart.js's interaction model goes beyond that, allowing developers to create custom interactions, and even allowing multiple charts to interact with each other, like below (see code for these charts here).
Simple Data Aggregation
Polychart.js can perform simple data aggregation at the chart library (analogous to "statistics" in the Grammar of Graphics). This means that you don't need to write additional JavaScript code to do common aggregations:
Works Anywhere
Polychart.js uses Raphael.js internally for SVG rendering. Raphael.js falls back to VML in older Internet Explorer browsers, and still works on tablets. This means that your interactive charts can be viewed by almost anyone.
Fully Documented
The code is available on github, as is this wiki with the API reference and Getting Started guide. Examples are available on the Polychart.js website. As always, please email us if you have any questions and we would love to see the charts you've built!
Flexible Grammar
Similar to the original Polychart.js, much of the design is inspired by The Grammar of Graphic and the R package ggplot2. However, instead of chart being specified in an object-oriented fashion, we've moved to using JSON to specify charts. This makes it a lot easier to save or serialize charts, and is a more natural workflow for JavaScript developers.
A True Interaction Model
The most highly requested Polychart.js feature was interaction, and so we built a flexible, event-based interaction model straight into Polychart.js. This is a truly unique feature of Polychart.js. When high level charting libraries call themselves "interactive", they typically refer to simple interactions like displaying tooltips on mouseover. Polychart.js's interaction model goes beyond that, allowing developers to create custom interactions, and even allowing multiple charts to interact with each other, like below (see code for these charts here).
Simple Data Aggregation
Polychart.js can perform simple data aggregation at the chart library (analogous to "statistics" in the Grammar of Graphics). This means that you don't need to write additional JavaScript code to do common aggregations:
Works Anywhere
Polychart.js uses Raphael.js internally for SVG rendering. Raphael.js falls back to VML in older Internet Explorer browsers, and still works on tablets. This means that your interactive charts can be viewed by almost anyone.
Fully Documented
The code is available on github, as is this wiki with the API reference and Getting Started guide. Examples are available on the Polychart.js website. As always, please email us if you have any questions and we would love to see the charts you've built!
Tuesday, 5 February 2013
A Slice of Canadian Life
You can find some really cool statistics online. The open data movement -- the idea that data should be free to use and republish -- is helping societies down to the municipal level become transparent to the data curious and statistically literate. Statistics Canada is one of the shining beacons of data driven agencies worldwide, with publicly available numbers that survey every aspect of Canadian life. Let's take a look at some insights from this repository using Polychart.
What kinds of alcohol do Canadians drink? You can probably guess, but Stats Can tracks year by year numbers on Canadian alcohol consumption. Beer is king - accounting for 2.3 million liters of booze consumed.
Have you ever been curious if you've spent way too much time watching television? Are you by Canadian standards a light sleeper? Compare yourself against this chart, which was created from a Stats Can survey done in 2008 on the typical lifestyles of Canadians.
Have you ever been curious if you've spent way too much time watching television? Are you by Canadian standards a light sleeper? Compare yourself against this chart, which was created from a Stats Can survey done in 2008 on the typical lifestyles of Canadians. With the average Canadian spending an hour a day on active leisure, some of us at Polychart need to hit the gym.
Another survey done in 2008 asked Canadians how they spent their time socially. The social lives of young adults were compared to middle aged married professionals. To make up for the demands of marriage, jobs, and kids, older adults lose on average an hour on personal care, half an hour with family, and four hours with friends.
There's tons of other data to visualize, from economic trends to where Canadians travel. I'll leave it to you to explore the rest.
What kinds of alcohol do Canadians drink? You can probably guess, but Stats Can tracks year by year numbers on Canadian alcohol consumption. Beer is king - accounting for 2.3 million liters of booze consumed.
Have you ever been curious if you've spent way too much time watching television? Are you by Canadian standards a light sleeper? Compare yourself against this chart, which was created from a Stats Can survey done in 2008 on the typical lifestyles of Canadians.
Have you ever been curious if you've spent way too much time watching television? Are you by Canadian standards a light sleeper? Compare yourself against this chart, which was created from a Stats Can survey done in 2008 on the typical lifestyles of Canadians. With the average Canadian spending an hour a day on active leisure, some of us at Polychart need to hit the gym.
Another survey done in 2008 asked Canadians how they spent their time socially. The social lives of young adults were compared to middle aged married professionals. To make up for the demands of marriage, jobs, and kids, older adults lose on average an hour on personal care, half an hour with family, and four hours with friends.
There's tons of other data to visualize, from economic trends to where Canadians travel. I'll leave it to you to explore the rest.
Tuesday, 29 January 2013
A Scoreboard for a 21st Century Sport - Kaggle Data Science Competitions
Success in the new sport of data science is a different race, with the finish line marked not by touchdowns or goals. Instead, its won by having the best fitness metric such as the lowest AUC or the highest mean average precision. The game is played over who can build the best model, leveraging past data to make the most accurate future predictions. Its competitive - head over to kaggle.com and see for yourself. One contest aimed at predicting future hospital patients has a 3 million dollar grand prize. Another contest offers its winners coveted jobs at Facebook.
To win, competitors must understand their data better than anyone else. Besides knowing what type of algorithm to use for modeling, being able to find insights such as the hidden correlations in the variables can mean the difference between being a winning contender and just an another entry.
The game starts with the release of a dataset and attached problem summary. Competitors have anywhere from weeks to months to build their predictive model. Multiple submissions can be made - a score is given back each time which can be compared against the current scoreboard. Its a dash to the best results.
The mix of team scores and submission times reveals a fascinating story. Some teams submit often, each time making small improvements. Other teams get stuck - after a set of improved submissions their score seems to level off and no more improvements are made. Brilliant flashes of insight can happen at any time, as shown by huge jumps in scores from one submission to the next. Many teams only have one or two submissions, preferring to wait until they have the perfect model before hedging their bets.
We are recreating the Kaggle leader-board using Polychart JS this week for the Leaping Leaderboard Leapfrogs challenge. The old scoreboard is a simple ranking that fails to capture the spirit of the competitions. We are visualizing the struggle to be the best data scientist, the accumulation of thousands of hours of hard work. The contest we are visualizing is the Predict HIV Progression Challenge, where contestants aim to find markers in the HIV sequence which predict a change in the severity of the infection.
To win, competitors must understand their data better than anyone else. Besides knowing what type of algorithm to use for modeling, being able to find insights such as the hidden correlations in the variables can mean the difference between being a winning contender and just an another entry.
The game starts with the release of a dataset and attached problem summary. Competitors have anywhere from weeks to months to build their predictive model. Multiple submissions can be made - a score is given back each time which can be compared against the current scoreboard. Its a dash to the best results.
The mix of team scores and submission times reveals a fascinating story. Some teams submit often, each time making small improvements. Other teams get stuck - after a set of improved submissions their score seems to level off and no more improvements are made. Brilliant flashes of insight can happen at any time, as shown by huge jumps in scores from one submission to the next. Many teams only have one or two submissions, preferring to wait until they have the perfect model before hedging their bets.
We are recreating the Kaggle leader-board using Polychart JS this week for the Leaping Leaderboard Leapfrogs challenge. The old scoreboard is a simple ranking that fails to capture the spirit of the competitions. We are visualizing the struggle to be the best data scientist, the accumulation of thousands of hours of hard work. The contest we are visualizing is the Predict HIV Progression Challenge, where contestants aim to find markers in the HIV sequence which predict a change in the severity of the infection.
Subscribe to:
Posts (Atom)