Why I use Python and Onomics to Create Data-Driven Content

What I’m most known for is creating data-driven content. This is when you analyze data and create content from it (usually in the form of charts and a blog post).

I’ve tested a lot of different tools in my experiments with data posts. While there are exceptions, I’ve found that I’ve only needed two technologies to create data posts for myself and clients: Python and Onomics.

Why I use Python

For those of you who don’t know, Python is one of the more well-known programming languages out there.

Not only is it popular, but it also has the best data analysis libraries of any language. Scikit, NumPy, and Matplotlib are all excellent libraries for data analysis.

Furthermore, because it is popular, there are lots of Stack Overflow questions on potential issues you might have (Stack Overflow is a popular site where you can ask programming questions).

Currently, there are more questions on Stack Overflow for Python than for any other programming language:

One thing I’ve learned from dealing with many technologies as a programmer is that you will eventually run into issues with any technology you use.

When you run into issues, Google and Stack Overflow will be your best friends.

The more popular a technology you use, the more likely it is that someone has run into the same issue before you and has posted something about it on the internet.

Thus, I ‘ve learned that it’s generally better to use popular technologies. You’ll have an easier time sorting any issues that come up.

I’m confident in saying that there is no other programming language besides Python that is both popular overall and has popular data analysis libraries.

There is one other language that is frequently used for data science: R. I’ve dabbled in R, and it’s a fine language but there are a few reasons why I don’t use it.

First, R is nowhere as popular as Python. I’ve gone over why this is so important.

Here are the results of a poll from KDnuggets, a popular site for data scientists. It shows that Python is currently more popular amongst data scientists:

Second, R is mostly meant for data analysis. It doesn’t have as many libraries to support other tasks that I may need to create a data post.

If I’m using Python, I’m much more likely to find a well-supported library to do site scraping or to get data from a popular API (an API is a way for your code to interact with another program/site like Facebook or Twitter).

Third, Python was easier for me to pick up and understand. It’s not that R was difficult, but I was able to understand Python much quicker than I was able to understand R.

Time is limited. Why should I spend the time to pick up R when I can’t see any benefits of using it over Python?

There are other languages that are being used by data scientists (like Julia) that I’m interested in, but I can’t be bothered to learn it right now.

It’s always tempting to pick up something new and shiny, but I’m happy with Python and should spend my time on other tasks.

Why I use Onomics

Onomics is a free tool for generating good-looking bar graphs.

I consider myself to be a decent programmer, but I know that I’m not that great of a designer.

My first data post on this site was an analysis of why certain infographics get shared more than others. Here’s a graph from that post:

While this graph isn’t terrible, it isn’t that great either. Still, I didn’t want to spend too much time having to design every graph I created for data posts.

I tried various solutions and ended up liking the graphs I made with Onomics. I just plugged in some data and ended up with great looking graphs.

Here’s a graph I made with barely any effort for a piece on link building costs:

This is a cleaner, more professional looking graph. In fact, the first time I showed an Onomics graph to a client, they thought it was made by a professional designer!

One major difference between Python and Onomics is that Onomics is not that popular.

Onomics was made by Priceonomics, an agency that uses Onomics to create data visualizations.

I honestly don’t know of any person or organization who uses Onomics besides myself and Priceonomics.

I know that this goes against my rule of mostly using popular technologies. However, I haven’t found anything else that allows me to easily make great-looking graphs.

I’ve been using Onomics for over a year and haven’t had too many complaints. When I did have an issue, I emailed the team behind it and they were quite helpful.

This is one of the few cases where I think it was okay to use a less popular tool. Nothing else I saw fit my needs as well. I took a small risk in learning Onomics, and it’s worked quite well for me.

Unfortunately, Onomics has its limitations. Onomics doesn’t have a way to create bar graphs where multiple bars are next to each other.

Here’s an example chart I made for a piece on viral posts that I couldn’t make in Onomics:

This chart isn’t quite as clean as the Onomics one, but it’s decent. I created it used Matplotlib, a popular Python library. Matplotlib is powerful, but it requires a lot of configuration and work to make decent-looking graphs.

Still, for over 90% of my pieces, Onomics works perfectly. That’s why it’s my favorite tool for creating data visualizations.


I obviously recommend you use Python and Onomics if you’re going to be creating data-driven content.

However, what I recommend more is that you use popular tools that you can learn quickly.

It’s easy to spend time learning something new even if it doesn’t help you. Trust me, I’ve spent plenty of time learning new technologies that I never ended up using.

Using something popular means there is more information online about that tool. That will make it easier to learn how to use the tool and how to deal with any potential pitfalls.

If you find something that you like that isn’t popular, make sure to thoroughly vet it before using it.

Sometimes, it’s okay to take a risk and use something unpopular. Just be sure that you’re not using a technology because it’s new and shiny. That’s another trap I’ve fallen into.

Take these two criteria into account (popularity and ease of use) when undertaking any technology-related project.

Whether it’s a data post or a startup or another endeavor, you’ll be less likely to spend time on tasks that don’t matter.