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

Plotting a candlestick chart with custom per candlestick individual coloring

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

很多库允许我为 bullish/bearish 蜡烛设置 2 种颜色..但我想实际指定每行的蜡烛颜色。

例如:

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

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

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

9天前我也在这里发帖,运气不好; https://community.plot.ly/t/individual-candlestick-colors/2959

使用 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