如何在绘图图中整齐地或以一定间隔的形式显示 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轴标签的字体大小和颜色?
python matplotlib 设置x轴文本间隔显示(数字的话可以转为字符之后处理)