横跨x轴日期的条形图

时间:2017-10-27 17:10:31

标签: python matplotlib bar-chart

是否有matplotlib或其他库可以创建跨越x轴日期的条形图?样本表:

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.2/vue.min.js"></script>

<div id="app">
  <ul class="todo-list">
    <li v-for="(todo, index) in todos">
      {{ todo.text }}
      <a v-on:click="removeItem(index)" class="todo-list__delete" href="#">Delete</a>
    </li>
  </ul>

  <input type="text" id="list-input">
  <input type="submit" id="list-submit" v-on:click="addItem">
  <span id="error" style="color: red; display: none;">Please Enter Text</span>

  <ul>
    <todoitem></todoitem>
  </ul>

  <h2 v-if="seen">SEEN</h2>
  <button id="hide-seen" v-on:click="toggleSeen">{{ button.text }}</button>
</div>

我想在表格中为每一行添加一个条形图。第一个栏将于2017年1月4日开始,跨度为2017年1月11日,高度为7,依此类推。

我尝试在x中使用两个值,但是错误地说“只有长度为1的数组可以转换为Python标量”。

我尝试计算日期之间的天数,并将其用作条形的宽度,但条形图的中间位于开始日期。

我找不到可以绘制这些条形图的方法或预先配置的图表。

1 个答案:

答案 0 :(得分:0)

如果您尝试使用width=参数,则非常接近。看起来你只是错过了align='edge' parameter to have the bar start at the correct date

ax.bar(df.loc[:,'Start Date'].values, df.loc[:,'Number'], width=[7,6,3,3,22], align='edge')

enter image description here