首页 > 解决方案 > 如何在图表中整齐地或以一定间隔的形式显示 X 轴日期刻度

问题描述

我正在使用 plotly 制作 OHLC 图。我偶然发现了一个问题。x 轴上的标签看起来很乱。有没有办法让它更整洁。或者我们只能显示极端日期值。例如,仅显示第一个日期值和最后一个日期值。日期范围本质上是动态的。我正在使用下面的查询来制作图表。谢谢您的帮助。

fig = go.Figure(data=go.Candlestick(x=tickerDf.index.date,
                    open=tickerDf.Open,
                    high=tickerDf.High,
                    low=tickerDf.Low,
                    close=tickerDf.Close) )

    fig.update_xaxes(showticklabels=True )    #Disable xticks 
    fig.update_layout(width=800,height=600,xaxis=dict(type = "category") ) # hide dates with no values
    
    st.plotly_chart(fig)

这里 tickerDf 是包含股票相关数据的数据框。

在此处输入图像描述

标签: pythonchartsplotlyseabornohlc

解决方案


您可以使用的一种方法是更改nticks​​ . 这可以通过调用fig.update_xaxes()nticks作为参数传递来完成。例如,这是一个带有固定数量的刻度的图,没有变化。 在此处输入图像描述

这是指定刻度数后的样子: 在此处输入图像描述

第二个情节的代码:

import plotly.graph_objects as go
import pandas as pd
df = pd.read_csv('./finance-charts-apple.csv')

fig = go.Figure([go.Scatter(x=df['Date'], y=df['AAPL.High'])])

fig.update_xaxes(nticks=5)

fig.show()

重要的是,再次是:

fig.update_xaxes(nticks=5) 

推荐阅读