绘制烛台图表,每个烛台自定义着色

时间:2017-01-03 16:51:20

标签: python matplotlib plotly bokeh candlestick-chart

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

很多图书馆允许我为看涨/看跌蜡烛设置2种颜色..但我想实际指定每行的蜡烛颜色。

例如:

日期,打开,高,低,关闭,音量,彩色

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

我检查了plot.ly,matplotlib,散景......一切都没有运气(除非我是盲人!)

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

1 个答案:

答案 0 :(得分:4)

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

enter image description here