nasıl

2015-01-10 25 views
8

I dikey olarak istiflenmiş & hizalanmış şekiller bir çok şekil Boke arsa sahiptir (etiketler küçük rakamlar örtüşen) Bokeh ekseni üzerinde kene içinde ayarlamak için kullanılır. Çizimleri dikey olarak hizalamak istediğim için, y ekseni etiketleri yataydan ziyade dikey olacak şekilde döndürülür. Bazı senaryolardanasıl

, Bokeh im etiketleri okunamaz hale tamamen üst üste gelecek şekilde çok fazla kene üretir. İşte bir örnek: otomatik daha az etiketi üretmek için yeterli renderer zeki yapma

import bokeh.plotting as bp 
import numpy as np 

y = np.random.uniform(0, 300, 50) 
x = np.arange(len(y)) 

bp.output_file("/tmp/test.html", "test") 
plot = bp.figure(plot_width=800, plot_height=200) 
plot.yaxis.axis_label_text_font_size = "12pt" 
plot.yaxis.major_label_orientation = 'vertical' 

plot.line (x,y) 
bp.show(plot) 

Kısa, bir eksen üzerinde yerleştirilmesini etiket # belirtmek için bir yol var?

belirtmek için doğrudan bir yol olduğunu Görünüşe üretilen etiket # 10.

cevap

4

bir güce afinitesi açısından, veri aralığı ile ilgisi var gibi görünüyor. Lütfen ilgili issue'u takip edin.

from bokeh.models import SingleIntervalTicker, LinearAxis 

plot = bp.figure(plot_width=800, plot_height=200, x_axis_type=None) 
ticker = SingleIntervalTicker(interval=5, num_minor_ticks=10) 
xaxis = LinearAxis(ticker=ticker) 
plot.add_layout(xaxis, 'below') 

enter image description here

Sen SingleIntervalTicker yılında interval parametresi aracılığıyla bilet sayısını kontrol edebilir: Bu bir geçici çözümdür.

+0

Hmm, aslında rakamlar/düzenleri, veri işleme ayrı bir genel sınıfta oluşturulur. Bu, olası bir geçici çözüm sunuyor, benim durumumda kullanabileceğim gerçekten değil, bu yüzden cevaplandı olarak işaretleyecektir. Teşekkürler –

7

Şimdi kenelerin sayısını desired_num_ticks özelliği ile denetleyebilirsiniz. Bokod dokümanlarından here (ve bu issue) örneğe bakın.

Örneğin, senin durumunda, böyle bir şey: plot.yaxis[0].ticker.desired_num_ticks = 10. Bu noktada ben bu hileyi kullanmak verilerin gerçek aralığını bilmenin bir yolu var bu yüzden

+0

Bu bir yorum, bir cevap değil. – Alex

+0

Cevabınızı inceledim. Cevabınızı desteklemeli ve daha fazlasını açıklamalısınız. – Alex

+0

@alireza bitti ... teşekkürler :) – Kevad