为什么在python中的matplotlib中将非零值绘制为零?

时间:2017-11-17 19:29:53

标签: python pandas matplotlib data-science

我绘制了一个这样的数据框:

  df2.plot(x= 'Date', y='Quote-Spread')

  plt.show()

我使用此命令在ipython中绘制它们:

  Sachad = df.loc[df['SID']== 40065016131938148]
  #Drop rows with any zero
  df1 = df1[~(df1 == 0).any(axis = 1)]
  df1['Quote-Spread'] = (df1['SellPrice'].mask(df1['SellPrice'].eq(0))-
  df1['BuyPrice'].mask(df1['BuyPrice'].eq(0))).abs()
  df2 = df1.groupby('Date' , as_index = False )['Quote-Spread'].mean()
  df2.plot(x= 'Date', y='Quote-Spread')
  plt.show()

但我的数字是这样绘制的:

enter image description here

正如您在2014-04-23中所看到的,Quote-Spread的值大约为126,000。但在情节中它只是零。

我的整个情节是这样的:

enter image description here

这是我的原始数据代码:

securityDefinitions:
  appKeyA:
    type: apiKey
    name: Authorization
    in: header
  appKeyB:
    type: apiKey
    in: header
    name: X-APP-ID

另一个问题是我如何为2014-04-01至2016-06-01之间的特定日期进行绘制。并为2014-06-06和2016-01-06日期绘制垂直红线?

1 个答案:

答案 0 :(得分:1)

请提供生成工作图的代码。有任何警告信息吗?

关于您的上一个问题:要选择所需的行,您只需使用><运算符来比较条件语句中的两个日期时间。

对于垂直线,您可以使用plt.axvline(x=date, color = 'r')