2017-01-03 22 views
0

Я хотел бы нарисовать некоторые данные свечи на диаграмме. Проблема, с которой я сталкиваюсь, - найти библиотеку, которая позволяет мне указывать цвет каждой свечи на основе свечи.Построение диаграммы подсвечника с индивидуальным расписанием подсвечника

Многие библиотеки позволяют мне установить 2 цвета для бычьих/медвежьих свечей. Но я хочу на самом деле указать цвет свечи на строку.

например:

Дата, Open, High, Low, Close, Volume, Цвет

Если кто-то может мне точку в направлении какой-либо библиотеки, что позволяет мне TODO это. Я был бы очень благодарен. Я не понимаю, почему так сложно.

Я проверил plot.ly, Matplotlib, боке .. все не повезло (если я не слеп!)

Я также писал здесь 9 дней назад без везения; https://community.plot.ly/t/individual-candlestick-colors/2959

+0

Где ваш код? –

ответ

3

Это довольно тривиально для достижения Боке. Модель 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

+0

Удивительно, это прекрасно, спасибо, я попытался поддержать ваш ответ, но, похоже, его учетная запись не имеет достаточного количества «стоит», но все же стоит сделать это? –

+0

Что с пробелами в подсвечнике? Графики подсвечников не имеют пробелов. –

+0

Финансы (и, таким образом, финансы) не является моим опытом. Вы можете тривиально изменить ширину 'w' в приведенном выше коде на все, что вам нравится. – bigreddot