回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我的第一个需求是在烛台图表上叠加一条曲线。
要绘制这个烛台图,<code>mplfinance</code>看起来非常漂亮。不幸的是,我找不到办法在烛台上叠加额外的曲线</p>
<p>考虑下面的例子,若你们中的任何人都知道如何将“噪波”列覆盖在从“分钟”数据帧绘制的烛台上,那个就太棒了</p>
<pre class="lang-py prettyprint-override"><code>import pandas as pd
import mplfinance as mpf
minutely = pd.DataFrame({'Date':[pd.Timestamp('2021-01-07 00:00:00'),
pd.Timestamp('2021-01-07 00:01:00'),
pd.Timestamp('2021-01-07 00:02:00'),
pd.Timestamp('2021-01-07 00:03:00'),
pd.Timestamp('2021-01-07 00:04:00')],
'Open':[36769.36, 36880.00, 36851.42,36922.19,37083.18],
'High':[36880.00, 36880.00, 36950.00, 37089.69, 37094.70],
'Low': [36760.00, 36817.64, 36810.03, 36922.13, 36565.49],
'Close':[36880.00, 36851.97, 36922.14, 37075.80, 36691.3]})
noise = pd.DataFrame({'Date':[pd.Timestamp('2021-01-07 00:00:00'),
pd.Timestamp('2021-01-07 00:01:00'),
pd.Timestamp('2021-01-07 00:02:00'),
pd.Timestamp('2021-01-07 00:03:00'),
pd.Timestamp('2021-01-07 00:04:00')],
'Noise':[36779.36, 36870.00, 36881.42,36902.19,37103.18]})
# Draw candlesticks
minutely = minutely.set_index('Date')
noise = noise.set_index('Date')
mpf.plot(minutely, type='candle')
</code></pre>
<p>不停在这里,我想使用'old'<code>candlestick_ohlcv</code>函数绘制烛台图,然后使用本机matplotlib功能覆盖数据。
这给出了下面的代码,但是当显示烛台时,x刻度看起来毫无意义</p>
<p>我应该只有5支蜡烛,x刻度从2020/01/07 00:00到2020/01/07 00:04</p>
<p>我可以看到图表显示了从2020/01/06 16:48到2020/01/07:12的x比例</p>
<p>我不明白,蜡烛是没有意义的</p>
<pre class="lang-py prettyprint-override"><code>import pandas as pd
import matplotlib.pyplot as plt
from mplfinance.original_flavor import candlestick_ohlc
import matplotlib.dates as mpdates
minutely = pd.DataFrame({'Date':[pd.Timestamp('2021-01-07 00:00:00'),
pd.Timestamp('2021-01-07 00:01:00'),
pd.Timestamp('2021-01-07 00:02:00'),
pd.Timestamp('2021-01-07 00:03:00'),
pd.Timestamp('2021-01-07 00:04:00')],
'Open':[36769.36, 36880.00, 36851.42,36922.19,37083.18],
'High':[36880.00, 36880.00, 36950.00, 37089.69, 37094.70],
'Low': [36760.00, 36817.64, 36810.03, 36922.13, 36565.49],
'Close':[36880.00, 36851.97, 36922.14, 37075.80, 36691.3]})
noise = pd.DataFrame({'Date':[pd.Timestamp('2021-01-07 00:00:00'),
pd.Timestamp('2021-01-07 00:01:00'),
pd.Timestamp('2021-01-07 00:02:00'),
pd.Timestamp('2021-01-07 00:03:00'),
pd.Timestamp('2021-01-07 00:04:00')],
'Noise':[36779.36, 36870.00, 36881.42,36902.19,37103.18]})
minutely['Date'] = minutely['Date'].map(mpdates.date2num)
plt.style.use('dark_background')
fig, ax = plt.subplots()
candlestick_ohlc(ax, minutely.values, width = 0.6,
colorup = 'green', colordown = 'red',
alpha = 0.8)
# Setting labels
ax.set_xlabel('Date')
ax.set_ylabel('Price')
# Formatting Date
date_format = mpdates.DateFormatter('%d-%m-%Y %H:%M')
ax.xaxis.set_major_formatter(date_format)
fig.autofmt_xdate()
fig.tight_layout()
# show the plot
plt.show()
</code></pre>
<p>请问,有人知道如何将这些外部数据叠加到烛台数据上吗?
提前感谢您的帮助,
最好的</p>