библиотека локали с Plotly / python dataframe работает с jupyter, но не с Flask / dash - PullRequest
0 голосов
/ 29 мая 2020

Я использую блокнот Jupyter, работающий с данными COVID, в котором я преобразовал формат даты в свой язык локали, который работал нормально. Я использовал следующий код и смог добавить столбец с датой локали.

import locale
locale.setlocale(locale.LC_TIME, "ta_TA.utf8")
df_state = res[res['state']=='Tamil Nadu']
df_state_ser = df_state.copy() 
df_state_ser.drop(['district'],axis=1,inplace=True)
df_state_ser.reset_index(inplace=True)
df_state_ser.drop(['active'],axis=1,inplace=True)
df_state_ser.drop(['notes'],axis=1,inplace=True)
df_state_ser.drop(['index'],axis=1,inplace=True)
#df_state_ser.drop(['state'],axis=1,inplace=True)
df_state_ser.sort_values(by='date', ascending = False)
df_state_ser = df_state_ser.groupby(['date']).sum().reset_index()
df_state_ser['date'] = pd.to_datetime(df_state_ser['date'])
df_state_ser['tamil'] = df_state_ser['date'].dt.strftime("%d %b %y")
#df_state_ser.rename(columns={df_state_ser.columns[0]:'தேதி'}, inplace=True)
df_state_ser.rename(columns={df_state_ser.columns[1]:'உறுதிச்செய்யப்பட்டவை'}, inplace=True)
df_state_ser.rename(columns={df_state_ser.columns[3]:'குணமடைந்தவர்கள்'}, inplace=True)
df_state_ser.rename(columns={df_state_ser.columns[2]:'இறந்தவர்கள்'}, inplace=True)
df_state_ser.rename(columns={df_state_ser.columns[4]:'தேதி'}, inplace=True)
df_state_ser

прикрепленный pi c дает вывод фрейма данных. выделенный первый столбец даты был преобразован в формат даты локали в соответствии с последним столбцом

enter image description here

Я могу использовать фрейм данных и получить график с мой формат даты локали, который тоже работал нормально.

import plotly.graph_objs as go
import plotly.express as px
df_long_TN=pd.melt(df_state_ser, id_vars=['தேதி'], value_vars=['உறுதிச்செய்யப்பட்டவை','இறந்தவர்கள்','குணமடைந்தவர்கள்'])
fig = px.scatter( df_long_TN,x='தேதி', y="value", color="variable")
fig.update_traces(hovertemplate=None)
fig.update_layout(height=500, width= 605,font=dict(size=10,color="white"),xaxis_title="தேதி",paper_bgcolor= "#2D2D2D",plot_bgcolor="#2D2D2D",
         yaxis=dict(tickformat=".f"),     xaxis=dict(tickangle=270),      legend=dict(x=0,y=1.3,traceorder="normal",font=dict(family="sans-serif",size=12)),
        xaxis_showgrid=False, yaxis_showgrid=False,  legend_title_text= 'மொத்தம்')
fig.show()

enter image description here

внес изменения в код, как показано на рисунке ниже, и смог получить график с дата локали без каких-либо проблем.

enter image description here

если я использую тот же код выше и запускаю в приложении flask, я не получаю дату локали в график. Я получаю результат, как указано ниже.

enter image description here

нужны ваши входы / указатель, чтобы исправить то же самое в приложении flask.

1 Ответ

0 голосов
/ 29 мая 2020

при замене locale.setlocale (locale.LC_TIME, "ta_TA.utf8") на locale.setlocale (category = locale.LC_ALL, locale = "Tamil") исправлена ​​проблема с flask

...