4 Reasons Why I’m Choosing Plotly as the Main Visualization Library

栏目: IT技术 · 发布时间: 6年前

4 Reasons Why I’m Choosing Plotly as My Main Visualization Library

Take your Visualizations to the 21st Century

It can be difficult to choose a perfect data visualization platform, as it will heavily depend on which programming language you are the best at, or if you are even willing to use programming languages to make visualizations — as it’s not mandatory.

4 Reasons Why I’m Choosing Plotly as the Main Visualization Library

In a world of so many great plotting libraries — especially for the JavaScript users — today I will explain to you why I’m choosing Plotly over everything else.

It might not be something you’ll agree with, but give me a couple of minutes of your time to read through the arguments — it will be worth your time.

Before beginning, I’d just want to say that I’m in no way, shape, or form affiliated with developers behind Plotly nor I’ve been contributing with the development. This article is purely based on personal experience and is aimed to help you with choosing a perfect visualization library for your project.

With that being said, let’s jump into the reasons why you’re here.

#1. It’s Python

Now, you’ll consider this as a benefit only if you know Python already — but since you’re reading a Data Science blog I’m assuming you are.

Python’s syntax is clear, clean, and easy to use, and Plotly is no exception. Just take a look at how little code is needed to produce a simple bubble chart :

import plotly.graph_objects as go
fig = go.Figure(data=go.Scatter(
   x=[1, 2, 3, 4],
   y=[10, 11, 12, 13],
   mode=’markers’,
   marker=dict(size=[40, 60, 80, 100],
               color=[0, 1, 2, 3])
))
fig.show()

Running this code will produce a visually appealing chart shown below:

4 Reasons Why I’m Choosing Plotly as the Main Visualization Library

From the docs

It’s not a secret that I’m a fan of Python syntax, but if you aren’t, you can still use Plotly with R and JavaScript . Nevertheless, let’s proceed to the next point.

#2. It’s Interactive

If you’ve followed the first point and executed the provided code, then you’re already aware that visualizations in Plotly are interactive.

4 Reasons Why I’m Choosing Plotly as the Main Visualization Library

Photo by Isaac Smith on Unsplash

Maybe that’s not a huge thing to you if you’re coming from a JavaScript background, but it’s a huge thing for anyone coming from Python. Visualizations made through Matplotlib are not interactive, and look pretty much worse by default than default visualizations from Plotly.

You don’t need to specify that you want your chart to be interactive, but you sure can tweak what is visible on hover.

More on that in later articles, there are many more to come in this Plotly series.

#3. Clear Syntax

Your Plotly chart will have a Figure object, populated with:

Data
Layout

As you might figure, you’ll put the data which makes the charts in the data , and in layout you’ll specify how the chart should look like. Let’s take a look at an example.

Let’s make a few imports first:

import numpy as np
np.random.seed(42)
import plotly.offline as pyo
import plotly.graph_objs as go

Now let’s define the data which will go into the chart:

x = np.random.randint(1, 101, 100)
y = np.random.randint(1, 101, 100)data = [go.Scatter(
    x=x,
    y=y,
    mode='markers',
)]

That’s it. This will create a scatter plot from random integers on both the x-axis and the y-axis. Now let’s define the layout :

layout = go.Layout(
    title=’Plot title’,
    xaxis=dict(title=’X-Axis’),
    yaxis=dict(title=’Y-Axis’),
    hovermode=’closest’
)

And now let’s put everything into a Figure object and plot it:

fig = go.Figure(data=data, layout=layout)
pyo.plot(fig)

If you ask me that was as clean as data visualization can be. If you were to take this code, put it in a single .py script and run it, the visualization would be saved as a html file and automatically opened in your browser:

4 Reasons Why I’m Choosing Plotly as the Main Visualization Library

Not too shabby, but we’ll dive much deeper into styling in the following articles.

#4. Dashboards

If you know some basic HTML and CSS then it’s very easy to incorporate multiple charts into a single, good-looking dashboard.

4 Reasons Why I’m Choosing Plotly as the Main Visualization Library

Photo by Carlos Muza on Unsplash

Plotly charts can be incorporated with Dash , a framework for building web applications .

Here’s a paragraph from the official documentation:

Written on top of Flask, Plotly.js, and React.js, Dash is ideal for building data visualization apps with highly custom user interfaces in pure Python. It’s particularly suited for anyone who works with data in Python.

This React part will transform your app into a Single Page Application , meaning that there won’t be those awkward refreshes upon clicking on stuff. And all of this without knowing any web development. Awesome.

We won’t dive into dashboard development now, but few articles down the road will cover it in depth.

If you can’t wait to see what can be produced with Dash , here’s the official gallery :

Before you go

I’m perfectly fine with looking at the tabular data. But a big part of my job is presenting findings and conclusion to others, and every single time showing a chart will be a far more effective method.

In the next month or so I’ve decided to publish 10-ish articles that will cover Plotly and Dash front to back, making sure that data visualization won’t be a painful process to you in the future.

Thanks for reading and stay tuned.


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

微机原理与接口技术

微机原理与接口技术

李文英、李勤、刘星、宋蕴新 / 清华大学出版社 / 2001-9 / 26.00元

《高等院校计算机应用技术规划教材•应用型教材系列•微机原理与接口技术》是“高职高专计算机系列教材”之一。全书包括微机原理、汇编语言、接口技术三部分内容。微机原理部分讲述了80x86的内部结构及工作原理、半导体存储器及其系统、微型机总线结构等。汇编语言部分讲述了指令系统、编程技巧。接口技术部分讲述了中断系统、中断控制器、并行接口、串行接口、DMA控制器、定时器,以及A/D、D/A转换器等常用芯片的硬......一起来看看 《微机原理与接口技术》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

在线进制转换器
在线进制转换器

各进制数互转换器

html转js在线工具
html转js在线工具

html转js在线工具