如何在绘图中获得生成的x轴和y轴范围? [英] How to obtain generated x-axis and y-axis range in plotly plot?

查看:0
本文介绍了如何在绘图中获得生成的x轴和y轴范围?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个非常简单的气泡图,如下所示。我唯一需要的是能够生成范围(或最小和最大值)或x和y轴。

trace = go.Scatter(
    x=df_test['total_points_mean'],
    y=df_test['total_points_std'],
    mode='markers',
    text=df_test['play_maker'],
    marker=dict(size=df_test['week_nunique'],
                color = df_test['week_nunique'],
                showscale=True)
)

layout = go.Layout(title='Scatter Plot')
fig = go.Figure(data=[trace],layout=layout)

从结果图看,x轴的最小和最大值似乎在~10和~29左右,但我需要一种方法来生成轴范围的精确值。

有没有办法访问生成的轴范围?

推荐答案

在Python实现中不可能从绘图中获得轴范围。只有在布局中指定轴范围时才能检索范围(但实际上并不需要它)。

因此,如果您尝试print(fig.layout.xaxis.range),您将得到None

如果您需要限制,则需要自己设置并将其应用于布局:

  1. 获取x值的最小值和最大值:xminxmax
  2. 用某个系数填充这些值:xlim = [xmin*.95, xmax*1.05]
  3. 更新布局:fig.update_layout(xaxis=dict(range=[xlim[0],xlim[1]]))

现在,如果您尝试print(fig.layout.xaxis.range),您将获得轴范围。

这让我非常困扰,所以我不得不更深入地挖掘,credit goes to @Emmanuelle on the plotly forums以确认这一事实。

更新20210129:Ploly已添加.full_figure_for_development()方法。

.Full_Figure_for_Development()方法提供了Python级别的访问 设置为Plotly.js计算的默认值。此方法需要 Kaleido包,易于安装,也可用于静态 图像导出。

现在您可以:

full_fig = fig.full_figure_for_development()
print(full_fig.layout.xaxis.range)

这篇关于如何在绘图中获得生成的x轴和y轴范围?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆