Spaces:
Sleeping
Sleeping
import streamlit as st | |
import pandas as pd | |
import numpy as np | |
import matplotlib.pyplot as plt | |
# Set page layout to wide | |
st.set_page_config(layout="wide") | |
st.title("CEO Dashboard") | |
# Get Information | |
df = pd.read_csv("CEO.csv") | |
# Get Numbers | |
kpi1_value = df['Overall Revenue Growth'].iloc[-1] | |
kpi2_value = df['Revenue'].iloc[-1] | |
kpi3_value = df['Cost'].iloc[-1] | |
kpi4_value = df['Profit'].iloc[-1] | |
kpi1_percentage = df['Overall Revenue Growth'].iloc[-1] - df['Overall Revenue Growth'].iloc[-2] | |
kpi2_percentage = df['Revenue'].iloc[-1]/df['Revenue'].iloc[-2]-1 | |
kpi3_percentage = df['Cost'].iloc[-1]/df['Cost'].iloc[-2]-1 | |
kpi4_percentage = df['Profit'].iloc[-1]/df['Profit'].iloc[-2]-1 | |
# Existing metric cards code | |
col1, col2, col3, col4 = st.columns(4) | |
col1.metric("Market Share", kpi1_value, kpi1_percentage) | |
col2.metric("Revenue", kpi2_value, kpi2_percentage) | |
col3.metric("Cost", kpi3_value, kpi3_percentage) | |
col4.metric("Profit", kpi4_value, kpi4_percentage) | |
# Fake data for the bar charts | |
data1 = pd.DataFrame({ | |
'QTR': ['Q1', 'Q2', 'Q3', 'Q4'], | |
'Market Share': np.random.randint(10, 20, size=4) | |
}) | |
data2 = pd.DataFrame({ | |
'QTR': ['Q1', 'Q2', 'Q3', 'Q4'], | |
'Market Share': np.random.randint(20, 30, size=4) | |
}) | |
data3 = pd.DataFrame({ | |
'QTR': ['Q1', 'Q2', 'Q3', 'Q4'], | |
'Market Share': np.random.randint(30, 40, size=4) | |
}) | |
data4 = pd.DataFrame({ | |
'QTR': ['Q1', 'Q2', 'Q3', 'Q4'], | |
'Market Share': np.random.randint(40, 50, size=4) | |
}) | |
# Reduced height for the bar charts | |
chart_height = 200 | |
# Creating the bar charts | |
col1, col2 = st.columns(2) | |
with col1: | |
st.write("Overall Revenue Growth for the Last 4 Quarters") | |
# Selecting only the last 4 quarters (assuming df is already sorted by time) | |
last_four_quarters = df.tail(4) | |
# Plotting with Matplotlib | |
fig, ax = plt.subplots(figsize=(6, 4)) # Reduced figure size | |
ax.bar(last_four_quarters['Quarter'], last_four_quarters['Overall Revenue Growth']) | |
ax.set_ylabel('Overall Revenue Growth (%)') | |
plt.xticks(rotation=45) # Rotate quarter labels for better readability | |
st.pyplot(fig) | |
with col2: | |
st.write("Kuch tho bhi1") | |
st.bar_chart(data2.set_index('QTR'), height=chart_height) | |
col3, col4 = st.columns(2) | |
with col3: | |
st.write("Kuch tho bhi1") | |
st.bar_chart(data3.set_index('QTR'), height=chart_height) | |
with col4: | |
st.write("Kuch tho bhi1") | |
st.bar_chart(data4.set_index('QTR'), height=chart_height) | |