[英]Extend line plot by scatter plot
從 dataframe
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from datetime import datetime, timedelta
np.random.seed(42)
date_today = datetime.now()
days = pd.date_range(date_today, date_today + timedelta(30), freq='D')
data = np.random.randint(1, high=100, size=len(days))
df = pd.DataFrame({ 'col2': data},index=days)
print(df.head())
col2
2019-10-22 09:35:28.766634 52
2019-10-23 09:35:28.766634 93
2019-10-24 09:35:28.766634 15
2019-10-25 09:35:28.766634 72
2019-10-26 09:35:28.766634 61
我想將 plot 前半部分作為線,后半部分作為散點 plot。
編碼
first_half = df.loc[date_today:(date_today + timedelta(15))]
second_half = df.loc[(date_today + timedelta(15)):days[-1]]
ax = first_half.plot()
ax.scatter(second_half.index, second_half.col2)
plt.savefig('plot.png')
但是,只生成 plot 行:
我怎樣才能得到預期的結果?
我得到了以下代碼來產生我認為你想要的效果,但它不使用scatter
。 此外,它沒有回答您關於您的代碼為何不起作用的問題!
first_half = df.loc[date_today:(date_today + timedelta(15))]
second_half = df.loc[(date_today + timedelta(15)):days[-1]]
ax = first_half.plot()
#ax.scatter(second_half.index, second_half.col2)
second_half.plot(linestyle='None', marker='o', ax=ax)
希望這可以幫助。
問候,
普拉桑特
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.