データフレームにデータを配置せずにNumPy配列にデータをプロットする方法が見つかりませんでした。これを行う方法は特に直感的ではありませんでした.Datashaderは列ラベルを数値以外の文字列にする必要があるため、df.col_label
構文を使用して呼び出すことができます(df[col_label]
構文ではなく、これには十分な理由があります)。
現在のシステムでは、Datapaderが受け入れる列ラベル付きNumPy配列をDataFrameに取得するために、次の操作が必要でした。
df = pd.DataFrame(data=data.T)
data_cols = ['c{}'.format(c) for c in df.columns]
df.columns = data_cols
df['x'] = x_values
y_range = data.min(), data.max()
x_range = x_values[0], x_values[-1]
canvas = datashader.Canvas(x_range=x_range, y_range=y_range,
plot_height=300, plot_width=900)
aggs = collections.OrderedDict((c, canvas.line(df, 'q', c)) for c in data_cols)
merged = xarray.concat(saxs_aggs.values(), dim=pd.Index(cols, name='cols'))
saxs_img = datashader.transfer_functions.shade(merged.sum(dim='cols'),
how='eq_hist')
それはx
列(最初は直感的ではない)を除外しなければならなかったので、data_cols
変数は、df.columns
使用することが重要ではなく、単にだったことに注意してください。
結果は、軸がbokehを使用して追加された例です。
ありがとう!生のNumPy配列を使用する方法はわかりませんが、Githubサイトで問題として登録するのが合理的な機能要求です。数値の列名の使用に関する問題を提起することも役立ちます。私は、col_label構文を利便性以外に使用する特別な理由はないと思っています。純粋に数値の列ラベルを使って実行しているわけではありません。一般に、Githubの問題は私たちと連絡を取るためのよりよい方法です。時間の経過と共にコメントを追跡することができます。 –
@ JamesA.Bednarハウツーについては、スタックオーバーフロー、部分的に他の人を助けるための質問、また簡単に参照できるようにするという利己的な理由から質問することをお勧めします。 Githubの問題として提出されたい質問はありますか?私はこれが一般的に落胆していると思った。私は列ラベルとnumpy配列を受け入れるという考えに関連する問題を提出します。 –
SOは、使用方法に関する質問には優れています。既に何かをする方法がなければならないと思っていて、それが何であるか把握するのに役立つ人が必要です。しかし、データ・セキュリティー開発者が、機能リクエストやバグ・レポートを追跡するのは難しい方法です。どちらもランダムなSOポストに座っていると対処される可能性は非常に低いです。もちろん、自分の状況や、ソフトウェア自体の問題かどうかを判断することは難しいでしょう。この場合、改善する必要があるのはあなたのソフトウェアなので、githubの問題を提出してください。 –