You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Plotly结合Streamlit时X轴消失的问题求助

使用Plotly结合Streamlit时X轴消失的问题求助

大家好,我最近碰到一个头疼的问题:单独用Plotly绘制散点图时,图表显示完全正常,但把同样的图表放到Streamlit里展示后,X轴居然凭空消失了!想请教下有没有大佬能帮忙分析下原因?


单独使用Plotly的情况

单独运行Plotly代码时,图表的X轴、Y轴都正常显示,效果如下:

import plotly.graph_objects as go
import plotly.express as px 
import pandas as pd


data = {'x': [1.5, 1.6, -1.2],
        'y': [21, -16, 46],
        'circle-size': [10, 5, 6],
        'circle-color': ["red","blue","green"]
        }

# Create DataFrame
df = pd.DataFrame(data)
fig = px.scatter(
    df,
    x="x", 
    y="y", 
    color="circle-color",
    size='circle-size'
)


fig.update_layout(
    {
        'xaxis': {
            "range": [-100, 100],
            'zerolinewidth': 3, 
            "zerolinecolor": "blue",
            "tick0": -100,
            "dtick": 25,
            'scaleanchor': 'y'
        },
        'yaxis': {
            "range": [-100, 100],
            'zerolinewidth': 3, 
            "zerolinecolor": "green",
            "tick0": -100,
            "dtick": 25
        },
        "width": 500,
        "height": 500
    }
)
fig.show()

单独使用Plotly的图表效果


结合Streamlit使用的情况

把同样的图表集成到Streamlit后,X轴就不见了,代码和效果如下:

import streamlit as st
import plotly.graph_objects as go
import plotly.express as px 
import pandas as pd


data = {'x': [1.5, 1.6, -1.2],
        'y': [21, -16, 46],
        'circle-size': [10, 5, 6],
        'circle-color': ["red","blue","green"]
        }

# Create DataFrame
df = pd.DataFrame(data)
fig = px.scatter(
    df,
    x="x", 
    y="y", 
    color="circle-color",
    size='circle-size'
)


fig.update_layout(
    {
        'xaxis': {
            "range": [-100, 100],
            'zerolinewidth': 3, 
            "zerolinecolor": "green",
            "tick0": -100,
            "dtick": 25,
            "scaleanchor": 'y'
        },
        'yaxis': {
            "range": [-100, 100],
            'zerolinewidth': 3, 
            "zerolinecolor": "red",
            "tick0": -100,
            "dtick": 25
        },
        "width": 500,
        "height": 500
    }
)
event = st.plotly_chart(fig, key="iris", on_select="rerun")

event.selection

结合Streamlit后的图表效果

有没有朋友知道为什么在Streamlit里展示时X轴会消失呢?我对比了两段代码的布局设置,除了X轴和Y轴的零线颜色调整了,其他参数(比如范围、刻度间隔、scaleanchor这些)都是一样的,但就是看不到X轴了,实在搞不懂哪里出问题了😢

备注:内容来源于stack exchange,提问作者user29295031

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 03:17:57