gpt4 book ai didi

python - 与 Pandas 的音量叠加

转载 作者:行者123 更新时间:2023-12-01 04:37:53 24 4
gpt4 key购买 nike

我经常在 matplotlib 和 open-high-low-close 的上下文中看到这种情况,但我想知道是否可以在 pandas 框架内添加音量覆盖。我们想要的最终图表将接近此处的第一个图表:( Matplotlib - Finance volume overlay )

假设我们有一个像这样的 DataFrame:

                       num  rolling_30  rolling_10  rolling_60  Volume
Date
2015-06-23 0.000219 0.000149 0.000168 0.000183 2
2015-06-25 0.000489 0.000162 0.000200 0.000188 3
2015-07-01 0.000164 0.000163 0.000190 0.000186 1
2015-07-02 0.000190 0.000166 0.000190 0.000187 1
2015-07-03 0.000269 0.000171 0.000198 0.000180 1
2015-07-04 0.000935 0.000196 0.000282 0.000193 2
2015-07-08 0.000154 0.000196 0.000288 0.000188 1
2015-07-11 0.000274 0.000202 0.000305 0.000190 1
2015-07-13 0.000872 0.000228 0.000380 0.000201 9

如何获得 ['num','rolling_30','rolling_10','rolling_60'] 折线图,图表底部列出了每日交易量?我可以做 secondary_y 来获得右侧的音量,但说实话,这看起来很糟糕。需要它是图表底部的传统成交量条形图。

最佳答案

基本思想是使用.twinx创建辅助y轴。下面是一个简短的示例。从图表中,您可以看到左侧 y 轴代表价格和移动平均线,而右侧 y 轴代表成交量。

import pandas as pd
import matplotlib.pyplot as plt

# your data
# ============================
print(df)


num rolling_30 rolling_10, rolling_60 Volume
Date
2015-06-23 0.0002 0.0001 0.0002 0.0002 2
2015-06-25 0.0005 0.0002 0.0002 0.0002 3
2015-07-01 0.0002 0.0002 0.0002 0.0002 1
2015-07-02 0.0002 0.0002 0.0002 0.0002 1
2015-07-03 0.0003 0.0002 0.0002 0.0002 1
2015-07-04 0.0009 0.0002 0.0003 0.0002 2
2015-07-08 0.0002 0.0002 0.0003 0.0002 1
2015-07-11 0.0003 0.0002 0.0003 0.0002 1
2015-07-13 0.0009 0.0002 0.0004 0.0002 9

# plotting
# ===========================
fig, ax = plt.subplots(figsize=(10,8))
df.drop('Volume', axis=1).plot(ax=ax)
ax.legend(loc='best')
ax2 = ax.twinx()
df['Volume'].plot(kind='bar', ax=ax2, color='g', alpha=0.1)
ax2.set_ylim([0, ax2.get_ylim()[1] * 10])
ax2.legend(loc='best')

enter image description here

关于python - 与 Pandas 的音量叠加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31410388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com