File size: 1,373 Bytes
475efba
81c96a6
 
475efba
 
81c96a6
 
 
 
 
 
475efba
 
81c96a6
475efba
 
81c96a6
 
 
 
 
475efba
81c96a6
 
 
475efba
81c96a6
 
 
 
988c299
81c96a6
988c299
81c96a6
988c299
37d563b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import streamlit as st
import pandas as pd
import plotly.express as px

def load_data():
    df = pd.DataFrame({
        "tax_type": ["Income Tax", "Sales Tax", "Property Tax", "Corporate Tax", "Value Added Tax (VAT)",
                     "Income Tax", "Sales Tax", "Property Tax", "Corporate Tax", "Value Added Tax (VAT)"],
        "compliance": [0.75, 0.82, 0.60, 0.70, 0.65,
                       0.79, 0.75, 0.66, 0.72, 0.68]
    })
    return df

def compliance_analysis(tax_type):
    df = load_data()
    
    compliance_rate = df[df["tax_type"] == tax_type]["compliance"].mean()
    compliance_rate = round(compliance_rate * 100, 2)
    
    df = df.groupby("tax_type").mean().reset_index()
    df = df.sort_values("compliance", ascending=False)
    
    fig = px.bar(df, x="compliance", y="tax_type", color="tax_type", orientation="h",
                 title="Average Compliance Rate for Tax Types",
                 labels={"compliance": "Compliance Rate (%)", "tax_type": "Tax Type"})
    
    fig.update_xaxes(ticktext=[str(round(v * 100, 2)) + "%" for v in df["compliance"]],
                     tickvals=df["compliance"] * 100)
    
    return fig
    
tax_types = ["Income Tax", "Sales Tax", "Property Tax", "Corporate Tax", "Value Added Tax (VAT)"]
tax_type = st.selectbox("Tax Type", tax_types, index=0)

st.plotly_chart(compliance_analysis(tax_type))