当前位置: 首页>>代码示例>>Python>>正文


Python LineCollection.set方法代码示例

本文整理汇总了Python中matplotlib.collections.LineCollection.set方法的典型用法代码示例。如果您正苦于以下问题:Python LineCollection.set方法的具体用法?Python LineCollection.set怎么用?Python LineCollection.set使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在matplotlib.collections.LineCollection的用法示例。


在下文中一共展示了LineCollection.set方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: candlestick2

# 需要导入模块: from matplotlib.collections import LineCollection [as 别名]
# 或者: from matplotlib.collections.LineCollection import set [as 别名]
def candlestick2(ax, opens, closes, highs, lows, width=1,
                 colorup='red', colordown='cyan',
                 #alpha=0.75,
                 alpha=1,
                ):
    """
    根据matplotlib.finance.candlestick2修改

    Represent the open, close as a bar line and high low range as a
    vertical line.


    ax          : an Axes instance to plot to
    width       : the bar width in points
    colorup     : the color of the lines where close >= open
    colordown   : the color of the lines where close <  open
    alpha       : bar transparency

    return value is lineCollection, barCollection
    """

    # note this code assumes if any value open, close, low, high is
    # missing they all are missing

    delta = width/2.
    barVerts = [ ( (i-delta, open), (i-delta, close), (i+delta, close), (i+delta, open) ) for i, open, close in zip(xrange(len(opens)), opens, closes) if open != -1 and close!=-1 ]

    rangeSegments = [ ((i, low), (i, high)) for i, low, high in zip(xrange(len(lows)), lows, highs) if low != -1 ]



    r,g,b = colorConverter.to_rgb(colorup)
    colorup = r,g,b,alpha
    r,g,b = colorConverter.to_rgb(colordown)
    colordown = r,g,b,alpha
    colord = { True :  colorup,
               False : colordown,
               }
    r,g,b = colorConverter.to_rgb('black')
    fcolorup = r,g,b,alpha
    fcolord = { True : fcolorup,
               False : colordown,
            }
    colors = [colord[open<close] for open, close in zip(opens, closes) if open!=-1 and close !=-1]
    fcolors = [fcolord[open<close] for open, close in zip(opens, closes) if open!=-1 and close !=-1]


    assert(len(barVerts)==len(rangeSegments))

    useAA = 0,  # use tuple here
    lw = 0.5,   # and here
    rangeCollection = LineCollection(rangeSegments,
                                     #colors       = ( (0,0,0,1), ),
                                     colors = colors,
                                     linewidths   = lw,
                                     antialiaseds = useAA,
                                     )


    barCollection = PolyCollection(barVerts,
                                   facecolors   = fcolors,
                                   #edgecolors   = ( (0,0,0,1), ),
                                   edgecolors   = colors,
                                   antialiaseds = useAA,
                                   linewidths   = lw,
                                   )

    minx, maxx = 0, len(rangeSegments)
    miny = min([low for low in lows if low !=-1])
    maxy = max([high for high in highs if high != -1])

    corners = (minx, miny), (maxx, maxy)
    ax.update_datalim(corners)
    ax.autoscale_view()

    # add these last
    ax.add_collection(rangeCollection)
    ax.add_collection(barCollection)
    rangeCollection.set(zorder=1)    
    barCollection.set(zorder=2) #bar要覆盖掉range,避免range的线条颜色在bar中显示
    return rangeCollection, barCollection
开发者ID:pophoo,项目名称:foxengine,代码行数:83,代码来源:finance.py


注:本文中的matplotlib.collections.LineCollection.set方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。