From: John H. <jdh...@ac...> - 2005-04-06 14:23:38
|
>>>>> "Daisy" == Daisy Fuentes <eli...@ya...> writes: Daisy> John, Thank you for your reply. A couple of issues though. Daisy> I looked at the documentation and saw the alpha Daisy> transperancy parameter, but for some reason I was still Daisy> getting the same results. Maybe I am missing something Daisy> very fundamental. If alpha is not provided then the Daisy> default is for the candlestick box not to be transperant, Daisy> correct? Even changing the alpha value wouldn't produced Daisy> desired results, I can increase transperancy, but not Daisy> eliminate it. I wasn't seeing that since I can still see Daisy> the lines (wicks) go through the boxes that's why I asked Daisy> here. Also, this may be another foolish oversight on my OK, I see what is going on. The lines are being plotted over the rectangles, so even if the rectangles are transparent, you still see the lines. There are two candlestick functions in matplotlib candlestick and candlestick2. They have slightly different call signatures and a different implementation under the hood. candlestick creates a bunch of separate lines and rectangles, candlestick2 uses collections (see the help for the matplotlib.collections module). You can control the z-ordering on the plot by setting the zorder property (see examples/zorder_demo.py). For candlestick (see examples/candlestick_demo.py) you would do lines, patches = candlestick(ax, quotes, width=0.6) set(lines, zorder=0.9*patches[0].zorder) for candlestick2 you would do (untested) linecol, rectcol = candlestick2(blah) z = rectcol.get_zorder() linecol.set_zorder(0.9*z) Daisy> part, but how come when I have candlestick2(axMiddle, Daisy> opens, closes, highs, lows, width=4, colorup='k', Daisy> colordown='r') instead of getting a bar colored black when Daisy> it closes above the open price I get the opposite --- red? Daisy> It seems colorup should be black, colordown -- red as in Daisy> colorup : the color of the lines where close >= open Daisy> colordown : the color of the lines where close < open Argg, that's embarrassing. Good thing mpl is distributed with no warranties.... No telling how many billions this bug has cost the wall street barons already! In matplotlib/finance.py in the candlestick2 function, find this code colord = { True : colorup, False : colordown, } colors = [colord[open>=close] for open, close in zip(opens, closes) if open!=-1 and close !=-1] That should read colors = [colord[close>=open] for open, close in zip(opens, closes) if open!=-1 and close !=-1] right? I believe this is already correct in candlestick, so this is a candlestick2 specific bug. Daisy> As far as the moving average calculation, I did see the Daisy> disclaimer and didn't mean to be a stickler, it just seem a Daisy> bit misleading to me as I was trying to do the Exponential Daisy> Moving Average calculation and compare the results to the Daisy> actual financial charts. They didn't match and I thought I Daisy> would point that out. OK, if you submit a replacement function that better matches actual plots, I will be happy to include it. Thanks for the report! JDH |