我想将一些烛台数据绘制到图表上。 我遇到的问题是找到一个库,允许我在每个蜡烛的基础上指定每个蜡烛的颜色。
很多图书馆允许我为看涨/看跌蜡烛设置2种颜色..但我想实际指定每行的蜡烛颜色。
例如:
日期,打开,高,低,关闭,音量,彩色
如果有人能指出我允许我做任何图书馆的方向。我非常感激。我不明白为什么这么难。
我检查了plot.ly,matplotlib,散景......一切都没有运气(除非我是盲人!)
我也在这里发布了9天前没有任何运气; https://community.plot.ly/t/individual-candlestick-colors/2959
答案 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