簡體   English   中英

Python / Bokeh-以對數刻度繪制帶有間隙的數據

[英]Python/Bokeh - Plotting Data with Gaps on a Log Scale

我正在使用Pandas-Bokeh中的數據集,該數據集在幾個地方的值為NaN 進行標准散點圖繪制時,繪制界面僅將包含NaN值的行排除在外。 但是,當我將任何一個軸更改為對數刻度時,都不會繪制任何點。 是什么原因造成的?

當前是一個已知問題,已列為0.9.4版的里程碑。 查看此線程: https : //github.com/bokeh/bokeh/issues/2162

我遇到了類似的問題,因此,作為一種解決方法,我用nan值分割了范圍,並分別繪制了每個集合。 這是基於Bokeh的對數刻度示例unutbu這個問題 回答。

import numpy as np
from bokeh.plotting import figure, output_file, show
from bokeh.models import LogAxis, Range1d

def using_clump(a, b):
    return [a[s] for s in np.ma.clump_unmasked(np.ma.masked_invalid(b))]
def main():
    x = [0.1, 0.5, 1.0, 1.5, np.nan, 2.0, 2.5, 3.0]
    y = [10**xx for xx in x]
    output_file("log.html")

    p = figure(plot_width=400, plot_height=400,
           y_axis_type="log", y_range=(10**-1, 10**4))

    xdata = using_clump(x, x)
    ydata = using_clump(y, x)
    for i in range(0, len(xdata)):
        p.line(xdata[i], ydata[i], line_width=2)
        p.circle(xdata[i], ydata[i], fill_color="white", size=8)

    show(p)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM