折线图未与条形图一起显示

时间:2018-10-19 11:12:39

标签: python-3.x pandas matplotlib pandas-groupby

当我将数据框向下过滤到最后7个日期时,我很难获得此代码来生成条形图和顶部的折线图。目前,我可以单独运行每个图形,并且它们都可以正常运行,但是当我将它们同时运行时,可以得到没有折线图的条形图。我该如何纠正?

import pandas as pd
import matplotlib.pyplot as plt; plt.rcdefaults()
import matplotlib.dates as mdates
import numpy as np

# CSV's from report server. Change name accordingly.
quotes = pd.read_csv("PO25474.csv")
sales = pd.read_csv("SO.csv", encoding ='Latin-1')

today = pd.datetime.today().date()
selected_date = pd.date_range(today - pd.to_timedelta(6, unit='d'), today, freq='D')


#Apply to any price columns
def convert_currency(val):
"""
Convert the string number value to a float
 - Remove $
 - Remove commas
 - Convert to float type
"""
new_val = val.replace(',','')
return float(new_val)

#Convert dates and price column data types.
quotes["ENTRY_DATE"] = quotes["ENTRY_DATE"].astype("datetime64")
quotes["EXT_PRICE"] = quotes['EXT_PRICE'].apply(convert_currency)

df_selected = quotes[quotes["ENTRY_DATE"].isin(selected_date)]

plt.figure(figsize=(12, 5))

ax = (df_selected.groupby(['ENTRY_DATE'])['QTY'].sum().plot(kind="bar", 
use_index='index'))
ax.set_xlabel("Quotes")
ax.set_ylabel("Total")
ax.set_title("PO25474")

ax2 = ax.twinx()
ax2 = (df_selected.groupby([df_selected['ENTRY_DATE'].dt.day])['EXT_PRICE'].sum().plot(kind='line', marker='o', color='k'))

plt.show()

编辑 当我无日期限制地运行此数据框时,它运行良好。现在,我已将其更改为最近7天,折线图将不会显示。

0 个答案:

没有答案