具有Plotly / python数据框的语言环境库适用于jupyter,但不适用于Flask / dash

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具有Plotly / python数据框的语言环境库适用于jupyter,但不适用于Flask / dash相关的知识,希望对你有一定的参考价值。

我正在使用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

所附图片给出了数据帧的输出。根据最后一列,突出显示的首个日期列已转换为语言环境日期格式

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

需要您的输入/指针在烧瓶应用程序中进行相同的设置。

答案

从locale.setlocale(locale.LC_TIME,“ ta_TA.utf8”)更改为locale.setlocale(category = locale.LC_ALL,locale =“ Tamil”)修复了烧瓶的问题

以上是关于具有Plotly / python数据框的语言环境库适用于jupyter,但不适用于Flask / dash的主要内容,如果未能解决你的问题,请参考以下文章

自定义悬停框 Plotly:Python 以适应文本

Seaborn/Plotly 多个 y 轴

在 jupyter notebook 中使用 plotly python 绘制具有不等热图的交互式树状图

Plotly Python:在具有多个 Y 轴的分组条形图中对齐 X 轴

是否可以在 Plotly 中更改图例框的大小?

从嵌套字典结构列表(具有两个级别)创建数据框的 Pythonic 方法是啥?