如何解决如何将两个外部资源此处:yahoo合并到一个图中?
ETH = yf.download("ETH-EUR",start='2009-02-01',end=yesterday)
BTC = yf.download("BTC-EUR",end=yesterday)
sns.barplot(data=ETH.loc\[:,"Volume"\]\
.resample("m").mean().to_frame()\
.assign(Date=lambda dfa: dfa.index.strftime("%m/%y")),x="Date",y="Volume",ax=ax3,color="coral")
sns.barplot(data=BTC.loc\[:,"Volume"\]\
.resample("m").mean().to_frame()\
.assign(Date=lambda dfa: dfa.index.strftime("%m/%y")),color="aqua" )
label3 = ax3.set_xticklabels(ax3.get_xticklabels(),rotation = 90,fontsize=5,alpha=0.5)
ax3.set_title("Bitcoin / ETH",fontsize=7)][1]
目标是在 3 日将 BTC 和 ETH 结合起来。子图(见图)。在尝试使用melt、hue=、ax=、其他试图组合数据框的图2 天后,我需要帮助。
在我看来它有点特别,因为我无法通过 yahoo 或通过请求两个不同的数据下载来创建一个数据帧?
非常感谢:)
解决方法
所以我可以解决它,即使它可能不是“最干净”的方法。我reshaped
和concat
融合数据。猫图在一个图中显示了 ETH 和 BTC。但是出现了另一个问题,猫图不能分配给特定的斧头。因此我不能将它作为子图包含在内。有人有想法吗?
ETH2=pd.DataFrame(ETH.loc[:,"Volume"].resample("M").mean().to_frame().assign(Date=lambda dfa: dfa.index.strftime("%y/%m")))
Date = ETH2["Date"]
ETH2.drop(labels=["Date"],axis=1,inplace=True)
ETH2.insert(0,"Date",Date)
ETH2.rename(columns={"Volume":"Volume ETH"},inplace=True)
BTC2= pd.DataFrame(BTC.loc[:,"Volume"].resample("M").mean().to_frame().assign(Date=lambda dfa: dfa.index.strftime("%y/%m")))
BTC2.drop(labels=["Date"],inplace=True)
BTC2.rename(columns={"Volume":"Volume BTC"},inplace=True)
ETH_BTC = pd.concat([ETH2,BTC2],axis=1)
ETH_BTC = pd.melt(ETH_BTC,id_vars="Date",var_name="Coin",value_name="Volume")
sns.catplot(x="Date",y="Volume",hue="Coin",data=ETH_BTC,kind="bar",ax=ax3,palette=sns.color_palette(["aqua","lavender"]))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。