Data Visualization is an integral part of business analytics and it helps businesses to get insights & patterns quickly and make data-driven decisions.

**Matplotlib **and **Seaborn **are the two most popular Python libraries for data visualization. However, one downside of these two libraries is that both produce static plots. If you are looking for interactive plots then you will have to look for new libraries such as **Plotly**, **Bokeh**, etc., and then you need to spend some time understanding the syntax and usage.

But do you know you can also generate interactive plots directly on Pandas using Plotly or Bokeh as the backend? The icing on the cake is that you don’t have to learn syntax and usage of Plotly or Bokeh. Let’s see how we can create interactive plots in Pandas.

## How to create interactive plots in Pandas

Interactive plots let you play around with plots like zoom-in, zoom-out, hovering the cursor on the graph to get a tooltip, etc. One of the notable benefits of using interactive plots is that they give a good user experience.

There are 2 ways you can create interactive plots directly on Pandas:

- Plotly plotting backend
- Bokeh plotting backend

### Plotly plotting backend for Pandas

The Plotly backend for Pandas supports the following plots of Pandas: ** scatter, line, area, bar, barh, hist, **and

*box**.*

There are 2 ways you can plot using Plotly backend for Pandas— ** df.plot(kind=’scatter’)** or

**. We will be using**

*df.plot.scatter()*

*df.plot(kind=<type>).***Installation & set up**

We need to first install Plotly and set Pandas plotting backend to ‘plotly’. Refer to the below code.

` ````
```!pip install plotly
import pandas as pd
pd.options.plotting.backend = "plotly"

For the demonstration, we will be using the ** tips **dataset from the

**library. Let’s import the library and load the dataset.**

*Seaborn*` ````
```import seaborn as sns
df = sns.load_dataset('tips')

**Line plot**

` ````
```df[['total_bill', 'tip', 'size']].plot(kind='line')

**Scatter plot**

` ````
```df.plot(kind='scatter', x='total_bill', y='tip')

**Bar plot**

` ````
```df['day'].value_counts().plot(kind='bar')

Note that if you pass ** kind=’barh’**, you can get a horizontal bar graph.

**Histogram**

` ````
```df[['total_bill', 'tip']].plot(kind='hist')

**Box plot**

` ````
```df[['total_bill', 'tip']].plot(kind='box')

**Area plot**

` ````
```df[['total_bill', 'tip']].plot(kind='area')

### Bokeh plotting backend for Pandas

Bokeh plotting backend for Pandas currently supports — *l*** ine plot, point plot, step plot, scatter plot, bar plot, histogram, area plot, pie plot, **and

**.**

*map lot*There are* 2 *ways you plot Bokeh backend plots using Pandas — ** df.plot_bokeh(kind=’scatter’)** or

**. We will be using**

*df.plot_bokeh.scatter()***syntax**

*df.plot_bokeh(kind=<type>)*

*.***Installation & set up**

To use Bokeh as a plotting backend for Pandas, we need to install the *pandas-bokeh* library.

` ````
```pip install pandas-bokeh

**Line plot**

` ````
```df[['total_bill', 'tip']].plot_bokeh(kind='line', alpha=0.7);

**Scatter plot**

` ````
```df.plot_bokeh(kind='scatter', x='total_bill', y='tip', alpha=0.7);

**Bar plot**

` ````
```df['day'].value_counts().plot_bokeh(kind='bar', alpha=0.7);

**Histogram**

` ````
```df['total_bill'].plot_bokeh(kind='hist', bins=10, alpha=0.7);

**Area plot**

` ````
```df[['total_bill', 'tip']].plot_bokeh(kind='area', alpha=0.6);

**Pie-chat**

` ````
```df.groupby('day')['day', 'total_bill'].sum().reset_index().plot_bokeh(kind='pie', x='day', y='total_bill');

In this article, we talked about how to use Plotly and Bokeh plotting backend and generate interactive plots directly on Pandas. Hope you found this article useful.