Kuidas Bokehiga joonistades joonistada värvipaleti automaatselt?

When Plotting With Bokeh



Lahendus:

Tõenäoliselt on kõige lihtsam värvide loend lihtsalt hankida ja seda ise kasutadatööriistad:

importige numpy np -na bokeh -st. joonistage impordifiguur, output_file, show # valige palett bokeh -st. paletid impordivad Dark2_5 paletina # itertools tegeleb jalgrattasõidu importimisega itertools output_file ('bokeh_cycle_colors.html') p = joonis (laius = 400, kõrgus) = 400) x = np.linspace (0, 10) # loo värvide iteraatori värvid = itertools.cycle (palett) m jaoks, värv zip (vahemik (10), värvid): y = m * x p.line ( x, y, legend = 'm = {}'. formaat (m), värv = värv) p.legend.location = 'top_left' show (p)

sisestage pildi kirjeldus siia




Kaks väikest muudatust muudavad Python 3 jaoks eelneva vastuse.



  • muudetud:m, värv zip (vahemik (10), värvid):



  • enne:m, värv itertools.izip (xrange (10), värvid):


Saate määratleda lihtsa generaatori, mis muudab teie jaoks värve.

Pythonis 3:



alates bokeh.palettes import Kategooria 10 import itertools def color_gen (): itertools.cycle (kategooria10 [10]) saagis color = color_gen ()

või pythonis 2 (või 3):

alates bokeh.palettes import Kategooria 10 impordi tööriistad def color_gen (): c jaoks itertools.cycle (Kategooria 10 [10]): saagikus c color = color_gen ()

ja kui vajate uut värvi, tehke järgmist.

p.line (x, y1, line_width = 2, color = color) p.line (x, y2, line_width = 2, color = color)

Siin on ülaltoodud näide:

p = joonis (laius = 400, kõrgus = 400) x = np.linspace (0, 10) m, c in zip (vahemik (10), värv): y = m * x p.line (x, y, legend = 'm = {}'. formaat (m), värv = c) p.legend.location = 'top_left' show (p)

sisestage pildi kirjeldus siia