parameters: (kdata, new=True, axes=None, colorup='r', colordown='g')
docstring: 绘制K线图
      
      :param KData kdata: K线数据
      :param bool new:    是否在新窗口中显示，只在没有指定axes时生效
      :param axes:        指定的坐标轴
      :param colorup:     the color of the rectangle where close >= open
      :param colordown:   the color of the rectangle where close < open
docstring_summary: 绘制K线图
      
      :param KData kdata: K线数据
      :param bool new:    是否在新窗口中显示，只在没有指定axes时生效
      :param axes:        指定的坐标轴
      :param colorup:     the color of the rectangle where close >= open
      :param colordown:   the color of the rectangle where close < open
docstring_tokens: 绘制K线图 : param KData kdata : K线数据 : param bool new : 是否在新窗口中显示，只在没有指定axes时生效 : param axes : 指定的坐标轴 : param colorup : the color of the rectangle where close > = open : param colordown : the color of the rectangle where close < open
function: def kplot(kdata, new=True, axes=None, colorup='r', colordown='g'):
      """绘制K线图
      
      :param KData kdata: K线数据
      :param bool new:    是否在新窗口中显示，只在没有指定axes时生效
      :param axes:        指定的坐标轴
      :param colorup:     the color of the rectangle where close >= open
      :param colordown:   the color of the rectangle where close < open
      """
      if not kdata:
          print("kdata is None")
          return
  
      if not axes:
          axes = create_figure() if new else gca()
  
      alpha = 1.0
      width = 0.6
      OFFSET = width / 2.0
      rfcolor = matplotlib.rcParams['axes.facecolor']
      for i in range(len(kdata)):
          record = kdata[i]
          open, high, low, close = record.open, record.high, record.low, record.close
          if close >= open:
              color = colorup
              lower = open
              height = close - open
              rect = Rectangle(
                  xy=(i - OFFSET, lower),
                  width=width,
                  height=height,
                  facecolor=rfcolor,
                  edgecolor=color
              )
          else:
              color = colordown
              lower = close
              height = open - close
              rect = Rectangle(
                  xy=(i - OFFSET, lower),
                  width=width,
                  height=height,
                  facecolor=color,
                  edgecolor=color
              )
  
          vline1 = Line2D(
              xdata=(i, i), ydata=(low, lower), color=color, linewidth=0.5, antialiased=True
          )
          vline2 = Line2D(
              xdata=(i, i),
              ydata=(lower + height, high),
              color=color,
              linewidth=0.5,
              antialiased=True
          )
          rect.set_alpha(alpha)
  
          axes.add_line(vline1)
          axes.add_line(vline2)
          axes.add_patch(rect)
  
      title = get_draw_title(kdata)
      axes.set_title(title)
      last_record = kdata[-1]
      color = 'r' if last_record.close > kdata[-2].close else 'g'
      text = u'%s 开:%.2f 高:%.2f 低:%.2f 收:%.2f 涨幅:%.2f%%' % (
          last_record.datetime.number / 10000, last_record.open, last_record.high, last_record.low,
          last_record.close, 100 * (last_record.close - kdata[-2].close) / kdata[-2].close
      )
      axes.text(
          0.99,
          0.97,
          text,
          horizontalalignment='right',
          verticalalignment='top',
          transform=axes.transAxes,
          color=color
      )
  
      axes.autoscale_view()
      axes.set_xlim(-1, len(kdata) + 1)
      ax_set_locator_formatter(axes, kdata.get_datetime_list(), kdata.get_query().ktype)
function_tokens: def kplot ( kdata , new = True , axes = None , colorup = 'r' , colordown = 'g' ) : if not kdata : print ( "kdata is None" ) return if not axes : axes = create_figure ( ) if new else gca ( ) alpha = 1.0 width = 0.6 OFFSET = width / 2.0 rfcolor = matplotlib . rcParams [ 'axes.facecolor' ] for i in range ( len ( kdata ) ) : record = kdata [ i ] open , high , low , close = record . open , record . high , record . low , record . close if close >= open : color = colorup lower = open height = close - open rect = Rectangle ( xy = ( i - OFFSET , lower ) , width = width , height = height , facecolor = rfcolor , edgecolor = color ) else : color = colordown lower = close height = open - close rect = Rectangle ( xy = ( i - OFFSET , lower ) , width = width , height = height , facecolor = color , edgecolor = color ) vline1 = Line2D ( xdata = ( i , i ) , ydata = ( low , lower ) , color = color , linewidth = 0.5 , antialiased = True ) vline2 = Line2D ( xdata = ( i , i ) , ydata = ( lower + height , high ) , color = color , linewidth = 0.5 , antialiased = True ) rect . set_alpha ( alpha ) axes . add_line ( vline1 ) axes . add_line ( vline2 ) axes . add_patch ( rect ) title = get_draw_title ( kdata ) axes . set_title ( title ) last_record = kdata [ - 1 ] color = 'r' if last_record . close > kdata [ - 2 ] . close else 'g' text = u'%s 开:%.2f 高:%.2f 低:%.2f 收:%.2f 涨幅:%.2f%%' % ( last_record . datetime . number / 10000 , last_record . open , last_record . high , last_record . low , last_record . close , 100 * ( last_record . close - kdata [ - 2 ] . close ) / kdata [ - 2 ] . close ) axes . text ( 0.99 , 0.97 , text , horizontalalignment = 'right' , verticalalignment = 'top' , transform = axes . transAxes , color = color ) axes . autoscale_view ( ) axes . set_xlim ( - 1 , len ( kdata ) + 1 ) ax_set_locator_formatter ( axes , kdata . get_datetime_list ( ) , kdata . get_query ( ) . ktype )