4

rect()(Bokeh から)データをプロットすると、ビジュアライゼーションに水平ブロックの特異な線が表示されます。データは正しく印刷され、私が知っている限り、正しくフォーマットされています(type()すべてがリストであることを確認しました)。誰でもこれを診断できますか?問題がここにない場合は、さらにコードを追加できます。

(必要な場合: Ubuntu 14.04 で Python 2.7.6 を実行する)

    from bokeh.plotting import *
    from bokeh.objects import HoverTool, ColumnDataSource
    output_notebook()

    #All the same color just for testing
    colors = [
   "#191919", "#191919", "#191919", "#191919", "#191919", 
    "#191919", "#191919", "#191919", "#191919", "#191919",
    "#191919", "#191919", "#191919", "#191919", "#191919",
    "#191919", "#191919", "#191919", "#191919", "#191919", 
    "#191919", "#191919", "#191919", "#191919", "#191919"
    ]

    x_2 = []
    for i in trans_dat: x_2.append(i)

    y_2 = []
    for i in trans_dat.index: y_2.append(i)

    colors_2 = []
    kwordxstate_2 = []
    for y in y_2:
        for x in x_2:
            kword_state = trans_dat[x][y]
            kwordxstate_2.append(kword_state)
            colors_2.append(colors[kword_state])

    source = ColumnDataSource(
        data = dict(
            x_2=x_2,
            y_2=y_2,
            colors_2=colors_2,
            kwordxstate_2=kwordxstate_2,  
        )
    )

    rect(x_2, y_2, 1,1, source=source,
         x_range=x_2, y_range=y_2,
         color=colors_2, line_color=None,
         tools="resize,hover,previewsave", title="Keywords by state",
         plot_width=900, plot_height=400)

    grid().grid_line_color = None
    axis().axis_line_color = None
    axis().major_tick_line_color = None
    axis().major_label_text_font_size = "10pt"
    axis().major_label_standoff = 0
    xaxis().location = "top"
    xaxis().major_label_orientation = np.pi/3

    show()
4

1 に答える 1

5

trans_datOK、さらに掘り下げるには、いくつかのプロトタイプを含む完全な例が必要です。ただし、役立つ可能性のある一般的なコメントを次に示します。

x_rangeそれぞれy_rangeが重複のないカテゴリのリストであり、軸上に配置する順序である必要があります。

xyプロットする各四角形のカテゴリ座標にする必要があります。同じ長さxでなければなりません。y

すぐに、カテゴリのリスト座標の両方について、あなたが合格x_2していることは奇妙に思えます。これは通常、間違いです。y_2

次のカテゴリがあるとします。

  • x 軸:["US", "Canada"]

  • Y 軸:["Tech", "Agriculture"]

これらは、x_rangeおよびに渡すことができるものですy_range。しかし、すべての組み合わせに rect が必要な場合は、次のようなものを and として渡す必要がありxますy

  • バツ:["US", "US", "Canada", "Canada"]

  • y:["Tech", Agriculture", "Tech", Agriculture"]

これにより、カテゴリの各ペアに 1 つずつ、合計 4 つの四角形が作成されます。一部を省略したい場合は、それで問題ありません。

  • バツ:["US", "US", "Canada"]

  • y:["Tech", Agriculture", Agriculture"]

("Canada", "Tech") 座標の rect はありません。

これは数値の場合に似ています。x 軸と y 軸の範囲が [0,10] と [1,2] である可能性があります。ただし、座標は、(0, 1.5) や (5.5, 2) など、これら 2 つの範囲の積から取得されます。

これにより、範囲パラメーター (可能なカテゴリのリスト) と座標パラメーター (グリフをプロットするカテゴリの組み合わせ) の違いがより明確になりますか? さらに情報を追加できるかどうか教えてください。

于 2014-06-13T15:12:24.047 に答える