Plotly 散点图趋势线出现在散点下方。如何让趋势线出现在散点图上? [Python]
Posted
技术标签:
【中文标题】Plotly 散点图趋势线出现在散点下方。如何让趋势线出现在散点图上? [Python]【英文标题】:Plotly scatterplot trendline appears under the scatter. How do I get the trendline to appear over the scatterplot? [Python] 【发布时间】:2021-07-04 09:41:23 【问题描述】:我正在尝试为 Plotly 散点图绘制趋势线,但我不知道如何让趋势线出现在散点上方。以下是我使用的代码:
import plotly.express as px
fig = px.scatter(df, x='Percentage_LIFT', y='Average_Daily_Contacts',
title='Percent on LIFT vs Average Daily Contacts',
trendline = "ols", trendline_color_override="red")
fig.show()
Here is the scatterplot the code produced:
如何让趋势线出现在散点上方?
【问题讨论】:
我的建议对你有什么效果? 不幸的是,它没有改变图表。我很欣赏这个建议!我最终使用 seaborn 来代替情节。 如果这没有改变图表,那么您将不得不分享您的数据样本,以使您提供的 sn-p 可重现。如果你觉得你已经解决了这个问题,你会考虑将我的建议标记为接受的答案吗? 【参考方案1】:我在使用 px.scatter
时没有看到相同的行为。但是,只要您只有一条显示散点的轨迹和一条显示趋势线的轨迹,您就可以使用以下方法来切换数据在图形对象中出现的顺序:
fig.data = fig.data[::-1]
这会变成这样:
进入这个:
完整代码:
# imports
import pandas as pd
import plotly.express as px
# data
df = px.data.stocks()[['GOOG', 'AAPL']]
# your choices
target = 'GOOG'
# plotly
fig = px.scatter(df,
x = target,
y = [c for c in df.columns if c != target],
template = 'plotly_dark',
trendline = 'ols',
title = "fig.update_traces(mode = 'lines')",
trendline_color_override='red')
fig.data = fig.data[::-1]
fig.show()
【讨论】:
以上是关于Plotly 散点图趋势线出现在散点下方。如何让趋势线出现在散点图上? [Python]的主要内容,如果未能解决你的问题,请参考以下文章