zabanshenas / libs /utils.py
m3hrdadfi's picture
Update plot vis
d08c029
import streamlit as st
import numpy as np
import plotly.express as px
def plot_result(top_languages):
top_k = len(top_languages)
languages = [f'{r["language"]} ({r["code"]})' for r in top_languages]
scores = np.array([r["score"] for r in top_languages])
scores *= 100
fig = px.bar(
x=scores,
y=languages,
orientation='h',
labels={'x': 'Confidence', 'y': 'Language'},
text=scores,
range_x=(0, 115),
title=f'Top {top_k} Detections',
color=np.linspace(0, 1, len(scores)),
color_continuous_scale='Viridis'
)
fig.update(layout_coloraxis_showscale=False)
fig.update_traces(texttemplate='%{text:0.1f}%', textposition='outside')
fig.update_layout(yaxis={'categoryorder': 'total ascending'})
st.plotly_chart(fig, use_container_width=True)