擅长:python、mysql、java
<pre><code>axs[3].bar(bar_width, simsubs['CPS1 Total'], width=bar_width, zorder=2, label='Deletes', color='blue')
</code></pre>
<p>这里的x值是固定的,即所有数据都绘制在<code>x = bar_width = 0.35</code>上。您应该将条形图宽度更改为x+条形图宽度(即第二个条形图的x位置由第一个条形图宽度偏移),因此看起来如下所示:</p>
<pre><code>axs[3].bar(x + bar_width, simsubs['CPS1 Total'], width=bar_width, zorder=2, label='Deletes', color='blue')
</code></pre>
<p>编辑:</p>
<p>由于您的x值是时间戳,因此我通过首先将这些时间戳值更改为DateTime对象来实现您想要的功能,如下所示:</p>
<pre><code>simsubs['Date'] = simsubs['Date'].apply(pd.to_datetime)
</code></pre>
<p>然后应用必须调整的偏移量,如下所示:</p>
<pre><code>x_offset = simsubs['Date'] + pd.Timedelta(offset, units)
</code></pre>
<p>这应该起作用,因为您的X值是均匀分布的(相隔7天),因此我建议<code>offset = 3.5</code>和<code>units = 'days'</code>。在第二个条形图中将此x_偏移用作x值</p>
<p>我已经尝试过将这些DateTime对象重置为时间戳(如果日期分布不均匀,使用时间戳会更好),但绘图对我来说总是一团糟</p>