Plotly:如何去除 x 轴上的空白间隙

Nen*_*rss 2 python diagram axis plotly

我已经在 plotly 上做了这个图

图表

我想删除空白,只显示有值的 x,并隐藏没有任何值的 x

我该怎么做?

这是我的代码:

go.Bar(name=i,x=listeDepartement,y=listePPA))
fig = go.Figure(data=bar)
fig.update_layout(barmode='stack')
fig.write_html('histogram.html',auto_open=True)
fig.show()
Run Code Online (Sandbox Code Playgroud)

ves*_*and 5

发生这种情况的原因是将您的 x 轴巧妙地解释为日期,并为您制定时间表。您可以通过多种方式避免这种情况。一种可能性是用日期的字符串表示替换日期。

在 x 轴上绘制日期:

在此处输入图片说明

现在,只需在下面的代码片段中替换x=df.indexx=df.index.strftime("%Y/%m/%d")即可获得此图:

在 x 轴上绘制字符串:

在此处输入图片说明

代码:

# imports
from plotly.subplots import make_subplots
import plotly.graph_objs as go
import pandas as pd
import numpy as np

# data
np.random.seed(123)
frame_rows = 50
n_plots = 1
frame_columns = ['V_'+str(e) for e in list(range(n_plots+1))]
df = pd.DataFrame(np.random.uniform(-10,10,size=(frame_rows, len(frame_columns))),
                  index=pd.date_range('1/1/2020', periods=frame_rows),
                    columns=frame_columns)
df=abs(df)
df.iloc[21:-2]=np.nan
df=df.dropna()

# show figure
fig = go.Figure()
fig.add_traces(go.Bar(#x=df.index,
                       x=df.index.strftime("%Y/%m/%d"),
                         y=df['V_0']))

fig.show()
Run Code Online (Sandbox Code Playgroud)