Python 情节:使用字符串格式的日期而不是数字时不维护轴
Python Plotly: Not maintaining axes when using String formatted dates instead of Numeric
我在 plotly 和 pandas 中遇到了一个奇怪的问题,当我使用格式化的日期字符串而不是月份的 int 时,轴会翻转。
我根据我的数据集创建了这个组:
dfg = dfq.groupby(['Target', 'Mon','Month_fr','Year'])['Value'].mean().reset_index()
Target Mon Mon_fr Yr Value
Aggression 1 Jan 2020 0.393939
Aggression 2 Feb 2020 0.181818
Aggression 3 Mar 2020 0.430556
Aggression 4 Apr 2020 0.159420
Aggression 5 May 2020 0.445783
Aggression 6 Jun 2020 0.446154
Aggression 7 Jul 2019 0.620690
Aggression 8 Aug 2019 0.692308
Aggression 9 Sep 2019 0.207792
Aggression 10 Oct 2019 0.287671
Aggression 11 Nov 2019 0.253968
Aggression 12 Dec 2019 0.461538
Off-Task 1 Jan 2020 0.818182
Off-Task 2 Feb 2020 0.606061
Off-Task 3 Mar 2020 0.643836
Off-Task 4 Apr 2020 0.710145
Off-Task 5 May 2020 1.084337
Off-Task 6 Jun 2020 1.014925
Off-Task 7 Jul 2019 1.137931
Off-Task 8 Aug 2019 0.846154
Off-Task 9 Sep 2019 0.701299
Off-Task 10 Oct 2019 0.794521
Off-Task 11 Nov 2019 0.730159
Off-Task 12 Dec 2019 0.984615
SIB 1 Jan 2020 0.492308
SIB 2 Feb 2020 0.045455
SIB 3 Mar 2020 0.154930
SIB 4 Apr 2020 0.289855
SIB 5 May 2020 0.192771
SIB 6 Jun 2020 0.164179
SIB 7 Jul 2019 0.086207
SIB 8 Aug 2019 0.415385
SIB 9 Sep 2019 0.434211
SIB 10 Oct 2019 0.301370
SIB 11 Nov 2019 0.245902
SIB 12 Dec 2019 0.507692
并希望在 y 轴上绘制带有“值”的并排条形图
当我使用数字月份值时,这工作正常:
fig = px.bar(dfg, x=["Target", "Mon"], y="Value", color = "Target",title="Behavior Data",barmode="group")
fig.show()
但是当我尝试使用格式化的月份变量做同样的事情时:
fig = px.bar(dfg, x=["Target", "Month_fr"], y="Value", color = "Target",title="Behavior Data",barmode="group")
fig.show()
它翻转轴并且不再使用“值”作为表示的数据:
各位好心人以前遇到过这个奇怪的问题吗?!帮助...
我明白了!问题是我将 x 的值作为列表输入:
x=["Target", "Month_fr"],
我不知道我不需要在我的 x 变量中包含“Target”,因为该分组由“color = 'Target'”处理......这就是为什么这在使用时不是问题我不知道的月份的整数。使用 2 个字符串值作为 x 值可能存在一些问题。
感谢所有考虑过的人!如果您碰巧感兴趣,这里是工作代码:
import plotly.express as px # (version 4.7.0)
fig = px.bar(dfg, x="Month_fr", y="Value", color = "Target",title="Behavior Data",barmode="group")
fig.show()
我在 plotly 和 pandas 中遇到了一个奇怪的问题,当我使用格式化的日期字符串而不是月份的 int 时,轴会翻转。
我根据我的数据集创建了这个组:
dfg = dfq.groupby(['Target', 'Mon','Month_fr','Year'])['Value'].mean().reset_index()
Target Mon Mon_fr Yr Value
Aggression 1 Jan 2020 0.393939
Aggression 2 Feb 2020 0.181818
Aggression 3 Mar 2020 0.430556
Aggression 4 Apr 2020 0.159420
Aggression 5 May 2020 0.445783
Aggression 6 Jun 2020 0.446154
Aggression 7 Jul 2019 0.620690
Aggression 8 Aug 2019 0.692308
Aggression 9 Sep 2019 0.207792
Aggression 10 Oct 2019 0.287671
Aggression 11 Nov 2019 0.253968
Aggression 12 Dec 2019 0.461538
Off-Task 1 Jan 2020 0.818182
Off-Task 2 Feb 2020 0.606061
Off-Task 3 Mar 2020 0.643836
Off-Task 4 Apr 2020 0.710145
Off-Task 5 May 2020 1.084337
Off-Task 6 Jun 2020 1.014925
Off-Task 7 Jul 2019 1.137931
Off-Task 8 Aug 2019 0.846154
Off-Task 9 Sep 2019 0.701299
Off-Task 10 Oct 2019 0.794521
Off-Task 11 Nov 2019 0.730159
Off-Task 12 Dec 2019 0.984615
SIB 1 Jan 2020 0.492308
SIB 2 Feb 2020 0.045455
SIB 3 Mar 2020 0.154930
SIB 4 Apr 2020 0.289855
SIB 5 May 2020 0.192771
SIB 6 Jun 2020 0.164179
SIB 7 Jul 2019 0.086207
SIB 8 Aug 2019 0.415385
SIB 9 Sep 2019 0.434211
SIB 10 Oct 2019 0.301370
SIB 11 Nov 2019 0.245902
SIB 12 Dec 2019 0.507692
并希望在 y 轴上绘制带有“值”的并排条形图
当我使用数字月份值时,这工作正常:
fig = px.bar(dfg, x=["Target", "Mon"], y="Value", color = "Target",title="Behavior Data",barmode="group")
fig.show()
但是当我尝试使用格式化的月份变量做同样的事情时:
fig = px.bar(dfg, x=["Target", "Month_fr"], y="Value", color = "Target",title="Behavior Data",barmode="group")
fig.show()
它翻转轴并且不再使用“值”作为表示的数据:
各位好心人以前遇到过这个奇怪的问题吗?!帮助...
我明白了!问题是我将 x 的值作为列表输入:
x=["Target", "Month_fr"],
我不知道我不需要在我的 x 变量中包含“Target”,因为该分组由“color = 'Target'”处理......这就是为什么这在使用时不是问题我不知道的月份的整数。使用 2 个字符串值作为 x 值可能存在一些问题。
感谢所有考虑过的人!如果您碰巧感兴趣,这里是工作代码:
import plotly.express as px # (version 4.7.0)
fig = px.bar(dfg, x="Month_fr", y="Value", color = "Target",title="Behavior Data",barmode="group")
fig.show()