为什么我的线图卡在条形图后面?

时间:2019-08-19 04:48:09

标签: python pandas numpy matplotlib

我已经使用python创建了数据透视表,并尝试根据该表绘制条形图和折线图。我正在努力解决以下一些问题:

  1. 线条图出现在条形图的后面。这个问题有解决办法吗?
  2. 条形图还显示了一半的条形(最左侧和最右侧)。 set_xlim()似乎没有任何改变。
  3. 日期格式似乎也没有从2018-02-06更改为Feb-02

如果有人可以帮助我,将不胜感激。预先感谢。


import pandas as pd
import numpy as np
import matplotlib.dates as mdates
import datetime
import matplotlib.pyplot as plt

data = {
'Date': ['29/5/2018','30/5/2018','2/6/2018','2/6/2018','30/5/2018','28/5/2018','3/6/2018','3/6/2018','2/6/2018','28/5/2018'], 
'Name': ['Jane','Joe','Joe','Joe','Jane','Jane','Jane','Joe','Joe','Jane'],
'Qty': [90,38,33,41,52,35,55,53,44,46],
'Mean': [149,150,144,155,151,152,150,151,143,144]  
}
data['Date'] = pd.to_datetime(data['Date'])
df = pd.DataFrame(data)
df.sort_values(by=['Date'],inplace=True, ascending=True)

pv = pd.pivot_table(df, values=['Qty', 'Mean'], index=['Date'],aggfunc={'Qty': np.sum,'Mean': np.mean})
print(pv)

fig, ax = plt.subplots(figsize=(8, 8))
ax.set_xlim(pd.Timestamp('2018-02-05'), pd.Timestamp('2018-05-31')) 
myFmt = mdates.DateFormatter('%b-%d')
ax.xaxis.set_major_formatter(myFmt)
pv.plot(kind='bar',y='Qty',color = 'blue',secondary_y=True,ax=ax)
pv.plot(kind='line',y='Mean',color = 'red',ax=ax,use_index=False)
plt.show()

Plot

0 个答案:

没有答案