MATLAB のようにウォーターフォール プロットを実行する Python モジュールはありますか? 「numpy ウォーターフォール」、「scipy ウォーターフォール」、および「matplotlib ウォーターフォール」をグーグル検索しましたが、何も見つかりませんでした。
質問する
31015 次
4 に答える
22
PolyCollectionクラスを使用して、matplotlib でウォーターフォールを実行できます。このクラスを使用してウォーターフォールを実行する方法の詳細については、この特定の例を参照してください。
また、特定の状況 (選択したビュー角度によって異なります) で「視覚的なバグ」が発生する可能性があることを著者が示しているため、このブログ投稿が役立つ場合があります。
以下は、matplotlib で作成されたウォーターフォールの例です (ブログ投稿の画像):
(ソース: austringer.net )
于 2012-06-27T07:26:22.577 に答える
6
mplot3dを見てください:
# copied from
# http://matplotlib.sourceforge.net/mpl_examples/mplot3d/wire3d_demo.py
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
X, Y, Z = axes3d.get_test_data(0.05)
ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
plt.show()
Matlabのように良い結果を得る方法がわかりません。
さらに必要な場合は、MayaViもご覧ください: http://mayavi.sourceforge.net/
于 2012-06-26T14:45:45.413 に答える
4
ウィキペディア タイプのウォーターフォール チャートは、次のようにして取得することもできます。
import numpy as np
import pandas as pd
def waterfall(series):
df = pd.DataFrame({'pos':np.maximum(series,0),'neg':np.minimum(series,0)})
blank = series.cumsum().shift(1).fillna(0)
df.plot(kind='bar', stacked=True, bottom=blank, color=['r','b'])
step = blank.reset_index(drop=True).repeat(3).shift(-1)
step[1::3] = np.nan
plt.plot(step.index, step.values,'k')
test = pd.Series(-1 + 2 * np.random.rand(10), index=list('abcdefghij'))
waterfall(test)
于 2014-08-28T12:43:02.443 に答える