< pykCharts

Decision Decisions we took

Input Data Reusability

We wanted to reduce the amount of time developers spent to write backend code to model data JSONs for charts. Hence, we categorised charts into genres e.g. one-dimensional, multi-dimensional, maps and other. You can switch across various charts within the same genre without having to change the input data JSON API.

One Dimensional Charts

include Pie, Donut, Semi Pie, Semi Donut, 1D Bubble, Treemap, Pyramid, Funnel, Percentage Column, Percentage Bar.


Multi Dimensional Charts

include River, Waterfall, Bar, Grouped Bar, Column, Grouped Column, Line, Multi-series Line, Panel of Lines, Area, Stacked Area, Scatter, Pulse, Spider.


Map Charts

include Choropleth, Timeline.


Other Charts

Each chart here has a unique data structure. This genre include Pictograph.

Things we consciously avoid

Every visual element that our eyes can differentiate should be leveraged to communicate data. If it does not communicate data, it is distracting. If information is presented clearly then the information freely flows to the reader.

Guiding philosophy: Greatest Number Of Idea in the Shortest Time with the Least Ink in the Smallest Space. - Edward Tufte

3D rendering of charts

3D by itself does not communicate any new data. Moreover, it visually distorts data making it confusing for the reader to draw conclusions.

3d column grey


Legends requires the reader to do the extra work of cross-referencing between the legend and the chart. We have avoided legends until necessary.

Multi line grey

Cacophony of colors

Color is a visual encoding and must be used to communicate data. Using too many colors in a chart unnecessarily distracts the reader.

Pie grey

Fancy Typography

We have avoided confusing typography e.g. stylized fonts, text at an angle (e.g. 90 degree, 45 degree, etc.), bold, text with background, etc.

Bad text column chart

Use Case

All slices are of same color
Main data point is highlighted with color (Asia)
Percentage of each slice is shown as label
If label does not fit then it is not shown to avoid clutter (Others)
Biggest slices are in northern hemisphere
No Legends. No 3D.
Clubbing smaller data points into one slice called as Others

All one-dimensional charts are area charts i.e. pie shows data points as area of the circle. If we push too many data points to one-dimensional chart, it becomes unreadable. Hence, PykCharts provide Club Data Functionality.

    Badly designed Pie

Pie multi slice

Strategic use of Colors

Effective use of colors can help compare and contrast data points effectively.

Graduating Shades

Too many colors in a chart make it confusing. Hence, we have used graduating shades of the same color to help differentiate between groups.

Grouped column 200

Saturation Color Mode

Some charts support saturation color mode (one color, varying opacity). It allows you to plot numerical data as a heat map.

Map modes

Highlight insight / Forecast values

PykChart uses colors to highlight the key insight or to communicate if a certain data point is a projected / forecasted value.

Correct column

Palettes for maps

PykCharts comes with built-in support for Color Brewer palettes, so you can get well-designed color palettes for your maps.


Use Case

Labeled the line directly
Light but visible grid lines
Each line is sharp and clear.
Each line is of similar color.
No dashed, dotted lines with shape markers are used.
No Legends. No 3D.
If the line chart becomes cluttered due to multiple data series. Then, you can switch on the multiple_containers_enable mode and it will be shown as panel of line charts.

Smart Formatting of Numbers

Charts communicate numbers. If not formatted well, it becomes tough to read or compare numbers, which in turn reduces the effectiveness of the chart.

Large numbers

Reading extremely large numbers is tough. Hence, the charts automatically modify them to accounting mode i.e. 123456 becomes 123,456

Design treerect

Decimals points

While the chart is plotted with the exact data point e.g. 1.8345 the label is rounded off to the next significant digit i.e. 1.9


You can configure to pass any prefix or suffix to numbers. These will then be shown in tooltips and labels. E.g. 123,456 can become $123,456/-

Fork me on GitHub

Why Should I Hire Pykih? (PDF) to learn why we’re the smart choice.
Portfolio of work done - for Content Marketing (PDF) to see some of our past work.
Portfolio of work done - for Decision Making (PDF) to see some of our past work.
Get in touch and we’ll deliver a proposal in a week or less.


Contact us

Pykih logo