如何在绘图图中整齐地或以一定间隔的形式显示 X 轴日期刻度

Posted

技术标签:

【中文标题】如何在绘图图中整齐地或以一定间隔的形式显示 X 轴日期刻度【英文标题】:How to show the X-axis date ticks neatly or in a form of certain interval in a plotly chart 【发布时间】:2021-09-05 06:19:55 【问题描述】:

我正在使用 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是包含股票相关数据的数据框。

【问题讨论】:

【参考方案1】:

您可以使用的一种方法是更改​​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) 

【讨论】:

以上是关于如何在绘图图中整齐地或以一定间隔的形式显示 X 轴日期刻度的主要内容,如果未能解决你的问题,请参考以下文章

如何使用R中的绘图功能更改散点图中x轴和y轴标签的字体大小和颜色?

qwt 绘图曲线轴不可见

python matplotlib 设置x轴文本间隔显示(数字的话可以转为字符之后处理)

MPAndroidChart:如何以固定间隔设置 x 轴标签

MATLAB二维绘图向图中添加标题,坐标轴,图标和文字信息

Highcharts中的X轴间隔