Spaces:
Sleeping
Sleeping
import gradio as gr | |
# importing necessary libraries | |
import pandas as pd | |
import numpy as np | |
import matplotlib.pyplot as plt | |
import datetime as dt | |
from datetime import datetime | |
from pandas import Series | |
df = pd.read_csv("./MARUTI.csv") | |
data = df[['Date','Open','High','Low','Close','Volume','VWAP']] | |
data['Date'] = data['Date'].apply(pd.to_datetime) | |
df_vwap = df[['Date','VWAP']] | |
df_vwap['Date'] = df_vwap['Date'].apply(pd.to_datetime) | |
df_vwap['year'] = df_vwap.Date.dt.year | |
df_vwap['month'] = df_vwap.Date.dt.month | |
df_vwap['day'] = df_vwap.Date.dt.day | |
df_vwap['day of week'] = df_vwap.Date.dt.dayofweek | |
df_vwap.set_index('Date', inplace=True) | |
# fig = plt.figure() | |
def yearSeriesPlot(): | |
fig = plt.figure(figsize=(16,8)) | |
plt.plot(df_vwap['VWAP'], label='VWAP') | |
plt.title('Time Series') | |
plt.xlabel("Time(year)") | |
plt.ylabel("Volume Weighted Average Price") | |
plt.legend(loc='best') | |
return fig | |
# yearly variation histogram | |
def yearHistogramPlot(): | |
fig = plt.figure(figsize=(16, 8)) | |
df_vwap.groupby('year')['VWAP'].mean().plot.bar() | |
return fig | |
# monthly variations | |
def monthHistogramPlot(): | |
fig = plt.figure(figsize=(16, 8)) | |
df_vwap.groupby('month')['VWAP'].mean().plot.bar() | |
return fig | |
#daily variations | |
def dailyHistogramPlot(): | |
fig = plt.figure(figsize=(16, 8)) | |
df_vwap.groupby('day')['VWAP'].mean().plot.bar() | |
return fig | |
def weekDayHistogramPlot(): | |
fig = plt.figure(figsize=(16, 8)) | |
df_vwap.groupby('day of week')['VWAP'].mean().plot.bar() | |
return fig | |
def vwapSeriesPlot(): | |
fig = plt.figure(figsize=(16, 8)) | |
df_vwap['VWAP'].plot(figsize = (10,6)) | |
return fig | |
def plotGraph(plot_type): | |
if plot_type=="yearSeriesPlot": | |
return yearSeriesPlot() | |
elif plot_type=="yearHistogramPlot": | |
return yearHistogramPlot() | |
elif plot_type=="monthHistogramPlot": | |
return monthHistogramPlot() | |
elif plot_type=="dailyHistogramPlot": | |
return dailyHistogramPlot() | |
elif plot_type=="weekDayHistogramPlot": | |
return weekDayHistogramPlot() | |
elif plot_type=="vwapSeriesPlot": | |
return vwapSeriesPlot() | |
else: | |
raise ValueError("select valid plot") | |
inputs = [ | |
gr.Dropdown(["yearSeriesPlot", "yearHistogramPlot", "monthHistogramPlot", "dailyHistogramPlot", "weekDayHistogramPlot", "vwapSeriesPlot"], label="Select type of plot") | |
] | |
outputs = gr.Plot() | |
demo = gr.Interface( | |
fn=plotGraph, | |
inputs=inputs, | |
outputs=outputs, | |
) | |
demo.launch() |