Ich versuche, einige grundlegende Plotten von Aktien mit Matplot Lib und ich bin ratlos bei dem Versuch, den Volumen Teil der Handlung zu füllen.Matplotlib - Probleme mit Füllungen
Ich versuche, in zwei separaten Charts (einer über dem anderen) einen Aktienpreis und Volumen zu plotten. Wenn ich zwei geradlinige Linien (ATTEMPT 1 im Code) zeichne, sieht das gut aus - wie man es erwarten würde.
Wenn ich versuche, unter der Volumenlinie (ATTEMPT 2 im Code) zu füllen, sieht das Preisdiagramm vollständig in etwa 5 Pixel breit und es gibt nichts in der zweiten, Volumendiagramm.
Ich nehme an, es ist etwas mit der x-Achse (Datum) Serie als nur explizit in VERSUCH 2.
auch zu tun, ich habe die gleichen Daten in einem Diagramm mit zwei Achsen zu zeichnen versucht. Ich bekomme das gleiche Ergebnis nur innerhalb eines einzigen Diagramms. Ich nehme an, die gleiche Lösung wird das Problem mit beiden Arten von Diagramm beheben?
Kann mir jemand auch einen Tipp geben, wie man den Maßstab der y-Achse verkleinert?
Was fehlt mir?
Danke!
Ben
import datetime
import numpy as np
import matplotlib.colors as colors
import matplotlib.finance as finance
import matplotlib.dates as mdates
import matplotlib.ticker as mticker
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager
# get the stock data
fh = finance.fetch_historical_yahoo('AAPL', (2007, 2, 12), (2011, 2, 12))
r = mlab.csv2rec(fh)
fh.close()
r.sort()
# *** ATTEMPT 1: 2 standard line plots ******************************
f, (ax1, ax2) = plt.subplots(2, sharex=True, sharey=False)
ax1.plot(r.close)
ax2.plot(r.volume)
f.subplots_adjust(hspace=0)
# *** ATTEMPT 2: Fill the volume plot *******************************
f, (ax1, ax2) = plt.subplots(2, sharex=True, sharey=False)
ax1.plot(r.close)
ax2.fill_between(r.date,0, r.volume, facecolor='#0079a3', alpha=0.4)
f.subplots_adjust(hspace=0)
plt.setp([a.get_xticklabels() for a in f.axes[:-1]], visible=False)
Funktioniert gut. Vielen Dank! – BigWinston