2017-10-16 7 views
1

数字がy_axis_type='log'の場合はfigure.quad()を使用できますか?私はログ変換の四分円をプロットすることができます。また、同じ値を持つ行をログ軸にプロットすることもできます。しかし、ログ軸に4分の1をプロットしようとすると、空白の数字が表示されます。私はボケを使用しています0.12.9。以下はログ軸がボケにあるクワッド

from bokeh.io import export_png 
from bokeh.layouts import gridplot 
from bokeh.plotting import figure 
import numpy as np 

N = 50 
left = np.arange(N) 
right = np.arange(1, N+1) 
bottom = np.zeros(N) 
top = 100 * np.sin(np.pi*left/N)**2 + 1 

fig_args = dict(width=400, height=400, tools="") 

f1 = figure(**fig_args, title='Quad') 
f1.quad(left=left, right=right, top=top, bottom=bottom, line_color='black') 

f2 = figure(**fig_args, title='Quad of Logs') 
f2.quad(left=left, right=right, top=np.log10(top), bottom=bottom, line_color='black') 

f3 = figure(**fig_args, y_axis_type='log', title='Line w/Log Axis') 
f3.line(left, top) 

f4 = figure(**fig_args, y_axis_type='log', title='Quad w/Log Axis') 
f4.quad(left=left, right=right, top=top, bottom=bottom, line_color='black') 

lout = gridplot([f1, f2, f3, f4], ncols=2) 
export_png(lout, 'test.png') 

enter image description here

答えて

2

がボケはログスケールでゼロ点を扱う持って最善の方法を決定するためのオープンな問題が残っています...期待される出力を持ついくつかのテストコードです。純粋に数学的視点からは、あまり意味がありません。実用的なアプローチがいくつかありますが、まだ実装されていません。しかし、明示的な指示があれば、必要なプロットを得ることができます。あなたは、bottom値として明示的にy_range設定 0以外のものを使用してこれを見ることができます:

enter image description here

f4 = figure(**fig_args, y_axis_type='log', title='Quad w/Log Axis', y_range=(1, 200)) 
f4.quad(left=left, right=right, top=top, bottom=0.000000001, line_color='black') 

はこのイメージを生成します

関連する問題