pole_sites / app.py
Sanjayraju30's picture
Create app.py
4b09964 verified
import dash
from dash import dcc, html
import plotly.express as px
import pandas as pd
import numpy as np
# Define sites and poles
sites = ['Hyderabad', 'Karnrol', 'Bangalore', 'Ongol']
num_poles_per_site = 12
# Generate random data
data = []
for site in sites:
for pole_id in range(1, num_poles_per_site + 1):
data.append({
'Site': site,
'Pole ID': f'Pole {pole_id}',
'Status': np.random.randint(0, 100) # Simulated metric
})
df = pd.DataFrame(data)
# Pivot for heatmap
heatmap_data = df.pivot(index='Site', columns='Pole ID', values='Status')
# Create heatmap
fig = px.imshow(
heatmap_data,
labels=dict(x="Pole ID", y="Site", color="Status"),
color_continuous_scale="Viridis"
)
# Dash App
app = dash.Dash(__name__)
app.title = "Pole Management Heatmap"
app.layout = html.Div([
html.H1("Pole Management Heatmap", style={'textAlign': 'center'}),
dcc.Graph(figure=fig)
])
if __name__ == '__main__':
app.run_server(debug=True, host='0.0.0.0', port=7860)