Share @ LinkedIn Facebook  cufflinks, plotly, pandas
cufflinks - How to create plotly charts from pandas dataframe with one line of code?

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Table of Contents

Introduction

The pandas library is a preferred library by the majority of data scientists worldwide for loading and manipulating structured datasets. The pandas dataframe provides very convenient visualization functionality using the plot() method on it. We can create easily create charts like scatter charts, bar charts, line charts, etc directly from the pandas dataframe by calling the plot() method on it and passing it various parameters. The pandas visualization uses the matplotlib library behind the scene for all visualizations. All the plots generated by matplotlib are static hence charts generated by pandas dataframe's .plot() API will be static as well. The python has many data visualization libraries like plotly, bokeh, holoviews, etc which generates interactive plots. It can be very helpful if we can generate interactive charts directly from the pandas dataframe.

The cufflinks is one such library that lets us generate interactive charts based on plotly directly from pandas dataframe by calling iplot() or figure() method on it passing various parameters. The iplot() provides the majority of parameters which are almost the same as that of plot() which will make it easier for someone having knowledge on plot() to get used to using it. We'll explore iplot() method as a part of this tutorial to generate various interactive plotly charts from pandas dataframe.

We'll start by loading the necessary libraries. We have also set the default configuration for cufflinks using set_config_file() where we have set the default theme as well as other parameters. We can retrieve a list of themes available with cufflinks using getThemes() method.

In [1]:
import pandas as pd
import numpy as np

import cufflinks as cf

print("List of Cufflinks Themes : ", cf.getThemes())

cf.set_config_file(theme='pearl',sharing='public',offline=True)
List of Cufflinks Themes :  ['ggplot', 'pearl', 'solar', 'space', 'white', 'polar', 'henanigans']

Load Datasets

We'll be using below mentioned three datasets for plotting various charts.

  • IRIS Flowers Dataset: It has information about measurements of three different types of IRIS flowers. The dataset is easily available from the scikit-learn library.
  • Wine Dataset: It has information about the number of various ingredients used in three different types of wine. The dataset is easily available from the scikit-learn library.
  • Apple OHLC Dataset: It has information about Apple OHLC(Open, High, Low & Close) data from Apr 2019 - Mar 2020. The dataset can be easily downloaded from yahoo finance as CSV.

We'll be loading each dataset as pandas dataframe which will be later used for plotting.

In [2]:
from sklearn.datasets import load_wine, load_iris
In [3]:
iris = load_iris()

iris_df = pd.DataFrame(data=iris.data, columns=iris.feature_names)

iris_df["FlowerType"] = [iris.target_names[t] for t in iris.target]

iris_df.head()
Out[3]:
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) FlowerType
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa
In [4]:
wine = load_wine()

wine_df = pd.DataFrame(data=wine.data, columns=wine.feature_names)

wine_df["WineType"] = [wine.target_names[t] for t in wine.target]

wine_df.head()
Out[4]:
alcohol malic_acid ash alcalinity_of_ash magnesium total_phenols flavanoids nonflavanoid_phenols proanthocyanins color_intensity hue od280/od315_of_diluted_wines proline WineType
0 14.23 1.71 2.43 15.6 127.0 2.80 3.06 0.28 2.29 5.64 1.04 3.92 1065.0 class_0
1 13.20 1.78 2.14 11.2 100.0 2.65 2.76 0.26 1.28 4.38 1.05 3.40 1050.0 class_0
2 13.16 2.36 2.67 18.6 101.0 2.80 3.24 0.30 2.81 5.68 1.03 3.17 1185.0 class_0
3 14.37 1.95 2.50 16.8 113.0 3.85 3.49 0.24 2.18 7.80 0.86 3.45 1480.0 class_0
4 13.24 2.59 2.87 21.0 118.0 2.80 2.69 0.39 1.82 4.32 1.04 2.93 735.0 class_0
In [5]:
apple_df = pd.read_csv("datasets/AAPL.csv", index_col=0, parse_dates=True)

apple_df.head()
Out[5]:
Open High Low Close Adj Close Volume
Date
2019-04-05 196.449997 197.100006 195.929993 197.000000 194.454758 18526600
2019-04-08 196.419998 200.229996 196.339996 200.100006 197.514709 25881700
2019-04-09 200.320007 202.850006 199.229996 199.500000 196.922470 35768200
2019-04-10 198.679993 200.740005 198.179993 200.619995 198.027985 21695300
2019-04-11 200.850006 201.000000 198.440002 198.949997 196.379578 20900800

There two simple ways to create charts using cufflinks from pandas dataframe. We can either call iplot() or figure() method on the dataframe passing it different chart types. We'll now explain how to plot various charts from the dataframe using these two methods.

Scatter Plots

The first chart type that we'll create using iplot() API is a scatter chart. Below we are creating a scatter chart from the pandas dataframe by calling iplot() method on it passing a kind parameter as scatter to indicate chart type. We need to pass different chart types to the kind parameter in order to create various charts.

We have passed column names of the dataframe as x and y parameters to iplot() method to indicate it to use those columns from the dataframe to plot a scatter chart. We also have set mode parameters as markers to indicate the type of chart as scatter else it'll plot line chart by default. We can also give a title to the plot as well as to x and y-axis.

In [ ]:
iris_df.iplot(kind="scatter",
              x="sepal length (cm)", y='sepal width (cm)',
              mode='markers',
              xTitle="Sepal Length (CM)", yTitle="Sepal Width (CM)",
              title="Sepal Length vs Sepal Width Relationship")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Below we have created another scatter plot which is exactly the same as the previous scatter chart with only one difference which is that we have colored points according to different flower types. We have used the figure() method to create a chart this time which has the same parameters as iplot(). We have passed the column name to the categories parameter in order to color points on a scatter chart according to their flower type. We also have overridden the default theme from pearl to white by setting the theme parameter.

In [ ]:
iris_df.figure(kind="scatter",
               x="sepal length (cm)", y='sepal width (cm)',
               mode='markers',categories="FlowerType",
               theme="white",
               xTitle="Sepal Length (CM)", yTitle="Sepal Width (CM)",
               title="Sepal Length vs Sepal Width Relationship Color-encoded by Flower Type")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Below we have again created the same chart as the first scatter chart but have added the regression line to the data as well by setting bestfit parameter to True. We have also changed the point type in a scatter chart.

In [ ]:
iris_df.iplot(kind="scatter",
              x="sepal length (cm)", y='sepal width (cm)',
              mode='markers',
              colors="tomato",  size=8, symbol="circle-open-dot",
              bestfit=True, bestfit_colors=["dodgerblue"],
              xTitle="Sepal Length (CM)", yTitle="Sepal Width (CM)",
              title="Sepal Length vs Sepal Width Relationship along with Best Fit Line")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Bar Charts

The second chart type that we'll introduce is a bar chart.

We'll first create a dataframe that has average ingredients per wine type. We can call groupby() method on the wine dataframe to group records according to WineType and then take the mean of that records to get the average of each ingredient per wine type. We have taken out two columns from the dataset because both have very high values which can skew our charts.

In [9]:
avg_wine_df = wine_df.groupby(by=["WineType"]).mean()

avg_wine_df = avg_wine_df.drop(columns=["magnesium", "proline"])

avg_wine_df
Out[9]:
alcohol malic_acid ash alcalinity_of_ash total_phenols flavanoids nonflavanoid_phenols proanthocyanins color_intensity hue od280/od315_of_diluted_wines
WineType
class_0 13.744746 2.010678 2.455593 17.037288 2.840169 2.982373 0.290000 1.899322 5.528305 1.062034 3.157797
class_1 12.278732 1.932676 2.244789 20.238028 2.258873 2.080845 0.363662 1.630282 3.086620 1.056282 2.785352
class_2 13.153750 3.333750 2.437083 21.416667 1.678750 0.781458 0.447500 1.153542 7.396250 0.682708 1.683542

Below we have created our first bar chart by setting kind parameter to bar. We have passed alcohol as y value in order to plot bar chart of average alcohol used per wine type. We have also overridden default pearl theme to solar theme.

In [ ]:
avg_wine_df.iplot(kind="bar", y="alcohol",
                  colors=["dodgerblue"],
                  bargap=0.5,
                  dimensions=(500,500),
                  theme="solar",
                  xTitle="Wine Type", yTitle="Avg. Alcohol", title="Average Alcohol Per Wine Type")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

We have again created same chart as previous step but this time we have laid out bars horizontally. All other parameters are same as previous step. We can change bars from vertical to horizontal by setting orientation parameter to h.

In [ ]:
avg_wine_df.iplot(kind="bar", y="alcohol",
                  yTitle="Wine Type", xTitle="Avg. Alcohol", title="Average Alcohol Per Wine Type",
                  colors=["tomato"], bargap=0.5,
                  sortbars=True,
                  dimensions=(500,400),
                  theme="polar",
                  orientation="h")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Below we have created side by side bar chart by directly calling iplot() on the whole dataframe. We have set sortbars parameter to True in order to sort bars from the highest quantity to the lowest. We have also overridden the default chart theme from pearl to ggplot.

In [ ]:
avg_wine_df.iplot(kind="bar",
                  sortbars=True,
                  yTitle="Wine Type", xTitle="Avg. Alcohol", title="Average Ingredients Per Wine Type",
                  theme="ggplot"
                  )

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

We can create a stacked bar chart easily by setting barmode parameter to stack. Below we have created a stacked bar chart to show the average distribution of ingredients per wine type.

In [ ]:
avg_wine_df.iplot(kind="bar",
                  barmode="stack",
                  yTitle="Wine Type", xTitle="Avg. Alcohol", title="Average Ingredients Per Wine Type",
                  opacity=1.0,
                  )

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

We can create an individual bar chart for columns of the dataframe by setting the subplots parameter to True. It'll create a different bar charts for each column of the dataframe. We have set the keys parameter to list of columns to use from the dataframe so that bar charts will be created for these 4 columns. We can pass a list of columns to use from the dataframe as a list to the keys parameter.

In [ ]:
avg_wine_df.iplot(kind="bar",
                  subplots=True,
                  sortbars=True,
                  keys = ["ash", "total_phenols", "hue", "malic_acid"],
                  yTitle="Wine Type", xTitle="Avg. Alcohol", title="Average Ingredients Per Wine Type",
                  theme="henanigans"
                  )

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Line Charts

The third chart type that we'll introduce is a line chart. We can easily create a line chart by just calling iplot() method on the dataframe and giving which column to use for the x and y-axis. If we don't give value for the x-axis then it'll use the index of the dataframe as the x-axis. In our case, the index of the dataframe is the date for prices. We have plotted below the line chart of Open price over the whole period.

In [ ]:
apple_df.iplot(y="Open",
               xTitle="Date", yTitle="Price ($)", title="Open Price From Apr,2019 - Mar,2020")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

We can plot more than one line on the chart by passing a list of column names from the dataframe as a list to the y parameter and it'll add one line per column to the chart.

In [ ]:
apple_df.iplot(y=["Open", "High", "Low", "Close"],
               width=2.0,
               xTitle="Date", yTitle="Price ($)", title="OHLC Price From Apr,2019 - Mar,2020")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Below we have created a line chart with two-line where 2nd line has a separate y-axis on the right side. We can set the secondary parameter by giving the column name to the secondary_y parameter and the axis title for the secondary y-axis to secondary_y_title. This can be very useful when the quantities which we want to plot are on a different scale.

In [ ]:
apple_df.iplot(y="Open",
               secondary_y="Close", secondary_y_title="Close Price ($)",
               xTitle="Date", yTitle="Open Price ($)", title="Open Price From Apr,2019 - Mar,2020")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Below we have again created a line chart but this time using mode as lines+markers which will add both line and points to the chart. We have also modified the default gridcolor to black from gray.

In [ ]:
apple_df.iplot(y="Open",
               mode="lines+markers", size=4.0,
               colors=["dodgerblue"],
               gridcolor="black",
               xTitle="Date", yTitle="Price ($)", title="Open Price From Apr,2019 - Mar,2020")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Below we have given another example of using subplots.

In [ ]:
apple_df.iplot(y=["Open", "High", "Low", "Close"],
               width=2.0,
               subplots=True,
               xTitle="Date", yTitle="Price ($)", title="OHLC Price From Apr,2019 - Mar,2020")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Area Charts

The fourth chart type that we'll introduce is area charts. We can easily create an area chart using the same parameters as that of a line chart with only one change. We need to set the fill parameter to True in order to create an area chart. Below we have created an area chart covering the area under the open price of Apple stock.

In [ ]:
apple_df.iplot(y="Open",
               fill=True,
               xTitle="Date", yTitle="Price ($)", title="Open Price From Apr,2019 - Mar,2020",
               )

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

In [ ]:
apple_df.iplot(
               keys=["Open", "High", "Low", "Close"],
               subplots=True,
               fill=True,
               xTitle="Date", yTitle="Price ($)", title="OHLC Price From Apr,2019 - Mar,2020")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Pie Charts

The fifth chart type is pie charts. We'll be creating a new dataframe from the wine dataframe which has information about the count of samples per each wine category. We can create this dataframe by grouping the original wine dataframe based on wine type and then calling the count() method on it to get a count of samples per wine type.

In [22]:
wine_cnt = wine_df.groupby(by=["WineType"]).count()[["alcohol"]].rename(columns={"alcohol":"Count"}).reset_index()
wine_cnt
Out[22]:
WineType Count
0 class_0 59
1 class_1 71
2 class_2 48

We can easily create a pie chart by calling iplot() method on the dataframe passing it kind parameter as pie. We also need to pass which column to use for labels and which column to use for values. Below we have created a pie chart from the wine type count dataframe created in the previous cell. We have also modified how labels should be displayed by setting textinfo parameter.

In [ ]:
wine_cnt.iplot(kind="pie",
                             labels="WineType",
                             values="Count",
                             textinfo='percent+label', hole=.4,
                             )

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Below we have created the same pie chart as the previous step with two minor changes. We have removed the internal circle and we have pulled out the class_2 wine type patch a little bit out to highlight it. We need to pass the pull parameter list of floats which is the same size as labels and only one float should be greater than 0.

In [ ]:
wine_cnt.reset_index().iplot(kind="pie",
                             labels="WineType",
                             values="Count",
                             textinfo='percent+label',
                             pull=[0, 0, 0.1],
                             )

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Histograms

The sixth chart type that we'll introduce is the histogram. We can easily create a histogram by setting the kind parameter to hist. We have passed the column name as the keys parameter in order to create a histogram of that column.

In [ ]:
wine_df.iplot(kind="hist",
              bins=50, colors=["red"],
              keys=["alcohol"],
              dimensions=(600, 400),
              title="Alcohol Histogram")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Below we have created another example of the histogram where we are plotting a histogram of three quantities.

In [ ]:
wine_df.iplot(kind="hist",
              bins=50, colors=["red", "blue", "green", "black"],
              keys=["total_phenols", "flavanoids", "ash"],
              title="Ash, Total Phenols & Flavanoids Histogram")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Box Plots

The seventh chart type that we'll introduce is the box plots. We can easily create a box plot from the pandas dataframe by setting the kind parameter to box in iplot() method. We have below created a box plot of four quantities of iris flowers. We have passed column names of four features of the iris flower to the keys parameter as a list.

In [ ]:
iris_df.iplot(kind="box",
              keys=iris.feature_names, boxpoints="outliers",
              xTitle="Flower Features", title="IRIS Flower Features Box Plot")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Heatmaps

The eight chart type is heatmaps. We'll first create a correlation dataframe for the wine dataset by calling the corr() method on it.

In [28]:
wine_corr_df = wine_df.corr()
wine_corr_df
Out[28]:
alcohol malic_acid ash alcalinity_of_ash magnesium total_phenols flavanoids nonflavanoid_phenols proanthocyanins color_intensity hue od280/od315_of_diluted_wines proline
alcohol 1.000000 0.094397 0.211545 -0.310235 0.270798 0.289101 0.236815 -0.155929 0.136698 0.546364 -0.071747 0.072343 0.643720
malic_acid 0.094397 1.000000 0.164045 0.288500 -0.054575 -0.335167 -0.411007 0.292977 -0.220746 0.248985 -0.561296 -0.368710 -0.192011
ash 0.211545 0.164045 1.000000 0.443367 0.286587 0.128980 0.115077 0.186230 0.009652 0.258887 -0.074667 0.003911 0.223626
alcalinity_of_ash -0.310235 0.288500 0.443367 1.000000 -0.083333 -0.321113 -0.351370 0.361922 -0.197327 0.018732 -0.273955 -0.276769 -0.440597
magnesium 0.270798 -0.054575 0.286587 -0.083333 1.000000 0.214401 0.195784 -0.256294 0.236441 0.199950 0.055398 0.066004 0.393351
total_phenols 0.289101 -0.335167 0.128980 -0.321113 0.214401 1.000000 0.864564 -0.449935 0.612413 -0.055136 0.433681 0.699949 0.498115
flavanoids 0.236815 -0.411007 0.115077 -0.351370 0.195784 0.864564 1.000000 -0.537900 0.652692 -0.172379 0.543479 0.787194 0.494193
nonflavanoid_phenols -0.155929 0.292977 0.186230 0.361922 -0.256294 -0.449935 -0.537900 1.000000 -0.365845 0.139057 -0.262640 -0.503270 -0.311385
proanthocyanins 0.136698 -0.220746 0.009652 -0.197327 0.236441 0.612413 0.652692 -0.365845 1.000000 -0.025250 0.295544 0.519067 0.330417
color_intensity 0.546364 0.248985 0.258887 0.018732 0.199950 -0.055136 -0.172379 0.139057 -0.025250 1.000000 -0.521813 -0.428815 0.316100
hue -0.071747 -0.561296 -0.074667 -0.273955 0.055398 0.433681 0.543479 -0.262640 0.295544 -0.521813 1.000000 0.565468 0.236183
od280/od315_of_diluted_wines 0.072343 -0.368710 0.003911 -0.276769 0.066004 0.699949 0.787194 -0.503270 0.519067 -0.428815 0.565468 1.000000 0.312761
proline 0.643720 -0.192011 0.223626 -0.440597 0.393351 0.498115 0.494193 -0.311385 0.330417 0.316100 0.236183 0.312761 1.000000

Once we have the correlation dataframe ready, we can easily create a heatmap by calling iplot() method on it and passing the kind parameter value as heatmap. We have also provided colormap as Blues. We can also set chart dimensions by passing width and height as tuple to the dimensions parameter.

In [ ]:
wine_corr_df.iplot(kind="heatmap",
                   colorscale="Blues",
                   dimensions=(900,900))

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Below we have created another heatmap of the iris flowers dataset showing a correlation between various features.

In [ ]:
iris_df.corr().iplot(kind="heatmap",
                   colorscale="Reds",
                   dimensions=(500,500))

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

CandleStick & OHLC Charts

The ninth chart type that we'll introduce is the candlestick chart. We can easily create a candlestick chart from the dataframe by calling iplot() method on it and passing candle as value to the kind parameter. We also need to have Open, High, Low, and Close columns in the dataframe in that order. Below we have created a candlestick chart of whole apple OHLC data.

In [ ]:
apple_df.iplot(kind="candle", keys=["Open", "High", "Low", "Close"])

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Below we have created another example of a candlestick chart where we are plotting candles for only Apr-2019 data.

In [ ]:
apple_df["2019-04"].iplot(kind="candle",
                          keys=["Open", "High", "Low", "Close"],
                          )

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

We can create an OHLC chart exactly the same way as a candlestick chart with the only difference which is we need to set the kind parameter as ohlc.

In [ ]:
apple_df["2019-04"].iplot(kind="ohlc",
                          keys=["Open", "High", "Low", "Close"])

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Bubble Chart

The tenth chart type that we'll plot using cufflinks is a bubble chart. The bubble chart can be used to represent three dimensions of data. The two-dimension are used to create a scatter plot and the third dimension is used to decide the sizes of points in the scatter plot.

Below we have created a bubble chart on the iris dataframe's first 50 samples by setting the kind parameter to bubble. We have used sepal length and sepal width as x and y dimension and petal width as size dimension.

In [ ]:
iris_df[:50].iplot(kind="bubble", x="sepal length (cm)", y="sepal width (cm)", size="petal width (cm)",
              colors=["tomato"],
              xTitle="Sepal Length (CM)", yTitle="Sepal Width (CM)",
              title="Sepal Length vs Sepal Width Bubble Chart")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

3D Bubble Chart

We can also create a 3D bubble chart that can be used to represent 4 dimensions of data. The first three dimensions of data will be used to create a 3D scatter chart and 4th dimension will be used to decide the size of the point (bubble) in a scatter plot.

We are creating a 3D bubble chart by setting the kind parameter to bubble3d in iplot() method. We have used sepal length, sepal width and petal width to create a 3D scatter chart and petal length to decide the sizes of points in a 3D scatter chart. We have also color encoded points in scatter plot based on flower types.

In [ ]:
iris_df.iplot(kind="bubble3d",
              x="sepal length (cm)", y="sepal width (cm)", z="petal width (cm)",
              size="petal length (cm)",
              colors=["dodgerblue", "lime", "tomato"], categories="FlowerType",
              xTitle="Sepal Length (CM)", yTitle="Sepal Width (CM)", zTitle="Petal Width (CM)",
              title="Sepal Length vs Sepal Width vs Petal Width Bubble 3D Chart")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

3D Scatter Chart

We can create 3d scatter charts as well as using cufflinks. We need to set kind parameter to scatter3d in iplot() method. We are creating 3d scatter chart of sepal length, sepal width, and petal width. We even have color encoded points in 3d scatter chart according to flower type.

In [ ]:
iris_df.iplot(kind="scatter3d",
              x="sepal length (cm)", y="sepal width (cm)", z="petal width (cm)",
              size=5,
              colors=["dodgerblue", "lime", "tomato"], categories="FlowerType",
              xTitle="Sepal Length (CM)", yTitle="Sepal Width (CM)", zTitle="Petal Width (CM)",
              title="Sepal Length vs Sepal Width vs Petal Width Scatter Chart")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Spread Chart

The thirteenth chart type that we'll introduce is spread chart. Below we are creating a spread chart of high and low prices by setting the kind parameter to spread.

In [ ]:
apple_df.iplot(kind="spread", keys=["High", "Low"],
               title="High and Low Price Spread Chart")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?

Ratio Chart

The fourteenth and last chart type that we'll introduce is the ratio chart. We can create a ratio chart by setting the kind parameter to ratio. We are creating a ratio chart of open and close prices of apple OHLC data.

In [ ]:
apple_df.iplot(kind="ratio", keys=["Open", "Close",],
               title="Open & Close Price Ratio Chart")

cufflinks - How to create plotly charts from pandas dataframe with one line of code?



Sunny Solanki  Sunny Solanki