为啥要绘制一个似乎不正确的直方图?
Posted
技术标签:
【中文标题】为啥要绘制一个似乎不正确的直方图?【英文标题】:Why is plotly producing a histogram that seems to be incorrect?为什么要绘制一个似乎不正确的直方图? 【发布时间】:2021-12-23 23:26:47 【问题描述】:import plotly.express as px
px.histogram(purchase_data,x='Log_Final Price',color='Sale')
用 plotly express 绘图
与 Seaborn 相同的情节
sns.histplot(purchase_data,x='Log_Final Price',hue='Sale')
您可以清楚地看到,对于 Sale='Yes' 和 Sale='Np',plotly 给出了完全相反的情节。
【问题讨论】:
第一个图显示 stacked 条形图(barmode='relative'
是默认的 px,或 barmode='stack'
是 go),第二个图显示 overlaid i> 酒吧 (barmode='overlay'
)。
【参考方案1】:
情节直方图不正确,它只是堆叠。如果您包括以下内容,它将更类似于您的 seaborn 直方图:
fig.update_layout(barmode = 'overlay')
fig.update_traces(opacity=0.50)
情节
代码
import plotly.express as px
df = px.data.tips()
fig = px.histogram(df, x='total_bill', color = 'sex')
fig.update_layout(barmode = 'overlay')
fig.update_traces(opacity=0.50)
fig.show()
【讨论】:
如果我没记错的话,plotly 的 barmode 属性对应于 seaborn 中的 multiple。multiple='layer'
似乎是 seaborn 中的默认值,并且对应于 plotly 中的barmode='overlay'
,因此您可以将barmode='overlay'
设置为第一个,或者将multiple='stack'
设置为第二个。但这只是一个假设。以上是关于为啥要绘制一个似乎不正确的直方图?的主要内容,如果未能解决你的问题,请参考以下文章