使用自定义的每个烛台单独着色绘制烛台图表

Wha*_*ool 3 python matplotlib candlestick-chart plotly bokeh

我想在图表上绘制一些烛台数据。我遇到的问题是找到一个库,允许我在每根蜡烛的基础上指定每根蜡烛的颜色。

许多库允许我为看涨/看跌蜡烛设置 2 种颜色……但我想实际指定每行的蜡烛颜色。

例如:

日期,开盘价,最高价,最低价,收盘价,成交量,颜色

如果有人可以指出任何允许我这样做的图书馆的方向。我将不胜感激。我不明白为什么这么难。

我已经检查了 plot.ly、matplotlib、bokeh .. 都没有运气(除非我是瞎子!)

我也在 9 天前在这里发帖,但没有任何运气;https://community.plot.ly/t/individual-candlestick-colors/2959

big*_*dot 7

使用 Bokeh 实现这一点相当简单。Bokeh 的字形模型非常一致:每个视觉属性(包括颜色)都可以矢量化。如果您希望所有vbar字形(用于绘制烛台的)都具有不同的颜色,只需传递您想要的不同颜色的列表或数组。

from math import pi

import pandas as pd

from bokeh.palettes import viridis
from bokeh.plotting import figure, show, output_file
from bokeh.sampledata.stocks import MSFT

df = pd.DataFrame(MSFT)[:50]
df["date"] = pd.to_datetime(df["date"])

# NOTE: list of colors one for each candlestick
df['colors'] = viridis(50) 

w = 12*60*60*1000 # half day in ms

TOOLS = "pan,wheel_zoom,box_zoom,reset,save"

p = figure(x_axis_type="datetime", tools=TOOLS, 
           plot_width=1000, title = "MSFT Candlestick")
p.xaxis.major_label_orientation = pi/4
p.grid.grid_line_alpha=0.3

p.segment(df.date, df.high, df.date, df.low, color="black")
p.vbar(df.date, w, df.open, df.close, fill_color=df.colors, line_color="black")

output_file("candlestick.html", title="candlestick.py example")

show(p)  # open a browser
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明