RまたはPythonでサンバーストプロットを作成する方法

dmvianna:

これまでのところ、John Staskoのようなサンバーストプロットを作成できるRライブラリを見つけることができませんでした誰でもそれをRまたはPythonで実現する方法を知っていますか?

サンバースト

sirex:

極投影でmatplotlibバーを使用したサンバーストダイアグラムのPythonバージョン:

import numpy as np
import matplotlib.pyplot as plt

def sunburst(nodes, total=np.pi * 2, offset=0, level=0, ax=None):
    ax = ax or plt.subplot(111, projection='polar')

    if level == 0 and len(nodes) == 1:
        label, value, subnodes = nodes[0]
        ax.bar([0], [0.5], [np.pi * 2])
        ax.text(0, 0, label, ha='center', va='center')
        sunburst(subnodes, total=value, level=level + 1, ax=ax)
    elif nodes:
        d = np.pi * 2 / total
        labels = []
        widths = []
        local_offset = offset
        for label, value, subnodes in nodes:
            labels.append(label)
            widths.append(value * d)
            sunburst(subnodes, total=total, offset=local_offset,
                     level=level + 1, ax=ax)
            local_offset += value
        values = np.cumsum([offset * d] + widths[:-1])
        heights = [1] * len(nodes)
        bottoms = np.zeros(len(nodes)) + level - 0.5
        rects = ax.bar(values, heights, widths, bottoms, linewidth=1,
                       edgecolor='white', align='edge')
        for rect, label in zip(rects, labels):
            x = rect.get_x() + rect.get_width() / 2
            y = rect.get_y() + rect.get_height() / 2
            rotation = (90 + (360 - np.degrees(x) % 180)) % 360
            ax.text(x, y, label, rotation=rotation, ha='center', va='center') 

    if level == 0:
        ax.set_theta_direction(-1)
        ax.set_theta_zero_location('N')
        ax.set_axis_off()

例、この関数の使用方法:

data = [
    ('/', 100, [
        ('home', 70, [
            ('Images', 40, []),
            ('Videos', 20, []),
            ('Documents', 5, []),
        ]),
        ('usr', 15, [
            ('src', 6, [
                ('linux-headers', 4, []),
                ('virtualbox', 1, []),

            ]),
            ('lib', 4, []),
            ('share', 2, []),
            ('bin', 1, []),
            ('local', 1, []),
            ('include', 1, []),
        ]),
    ]),
]

sunburst(data)

python matplotlibサンバースト図

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

RまたはPythonでサンバーストプロットを作成する方法

分類Dev

フォローアップ:Rでサンバーストプロットを作成する方法は?

分類Dev

Pythonでスタックバープロットを作成する方法

分類Dev

Pythonでノンストップクローラーを作成してサーバー上で実行するにはどうすればよいですか?

分類Dev

スクリプトを指定するのはPython2または3で、プログラムが作成されているPythonのバージョンです。

分類Dev

サーバースクリプトでロギングまたはデバッグ出力を実行するにはどうすればよいですか?

分類Dev

ローカルホストにトンネリングするためにリモートsshサーバーをセットアップする方法は?

分類Dev

Dartでリスト、マップ、またはセットのクローンを作成する

分類Dev

インストール後のサブプロセスでdpkgconfigureエラーをデバッグする方法は?

分類Dev

インストール後のサブプロセスでdpkgconfigureエラーをデバッグする方法は?

分類Dev

プロットされたサンバースト図のデータをフォーマットする方法

分類Dev

Pythonでバンドストップフィルターを作成する方法

分類Dev

UbuntuまたはDebianで特定のバージョンをデブートストラップする方法は?

分類Dev

ifステートメントまたは他の適切な方法を使用してforループからサブプロットを作成するにはどうすればよいですか

分類Dev

クライアントを記憶するPythonでシンプルなマルチスレッドソケットサーバーを作成する方法

分類Dev

Rで遠隔バーをプロットする方法は?

分類Dev

パンダでバースタックをプロットする方法は?

分類Dev

ローカルWindowsデスクトップサービスアカウントを作成する方法は?

分類Dev

データはサーバーから来るとマルチレベルドロップダウンリストとバインドを作成する方法

分類Dev

LaravelのコントローラーにAlgoliaを統合するためのサービスプロバイダーまたはトレイトを作成するにはどうすればよいですか?

分類Dev

海生まれのバープロットをサブプロットとしてプロットする方法は?

分類Dev

Plotly:graph_objectsを使用してサンバーストサブプロットを作成するにはどうすればよいですか?

分類Dev

PythonでrestAPIlocalhostサーバーからアップロードされた画像エントリを削除する方法は?

分類Dev

グレムリンサーバーをモックする方法、または単体テスト用のメモリ内グラフを作成する方法は?

分類Dev

vs 10で作成されたc#デスクトップアプリケーションファイルを実行するには、コンピューターにSQLサーバーをセットアップする必要がありますか?

分類Dev

VBAで作成されたドロップダウンリストのフォントサイズとフォーマットを変更する方法

分類Dev

インターネットなしでコマンドプロンプトからセレンサーバーを起動する方法はありますか?

分類Dev

各サブプロットにいくつかの曲線があるPlotlyでサブプロットを作成するためにループする方法は?

分類Dev

ヘッドレスで使用するためにLinuxサーバーをセットアップする方法は?

Related 関連記事

  1. 1

    RまたはPythonでサンバーストプロットを作成する方法

  2. 2

    フォローアップ:Rでサンバーストプロットを作成する方法は?

  3. 3

    Pythonでスタックバープロットを作成する方法

  4. 4

    Pythonでノンストップクローラーを作成してサーバー上で実行するにはどうすればよいですか?

  5. 5

    スクリプトを指定するのはPython2または3で、プログラムが作成されているPythonのバージョンです。

  6. 6

    サーバースクリプトでロギングまたはデバッグ出力を実行するにはどうすればよいですか?

  7. 7

    ローカルホストにトンネリングするためにリモートsshサーバーをセットアップする方法は?

  8. 8

    Dartでリスト、マップ、またはセットのクローンを作成する

  9. 9

    インストール後のサブプロセスでdpkgconfigureエラーをデバッグする方法は?

  10. 10

    インストール後のサブプロセスでdpkgconfigureエラーをデバッグする方法は?

  11. 11

    プロットされたサンバースト図のデータをフォーマットする方法

  12. 12

    Pythonでバンドストップフィルターを作成する方法

  13. 13

    UbuntuまたはDebianで特定のバージョンをデブートストラップする方法は?

  14. 14

    ifステートメントまたは他の適切な方法を使用してforループからサブプロットを作成するにはどうすればよいですか

  15. 15

    クライアントを記憶するPythonでシンプルなマルチスレッドソケットサーバーを作成する方法

  16. 16

    Rで遠隔バーをプロットする方法は?

  17. 17

    パンダでバースタックをプロットする方法は?

  18. 18

    ローカルWindowsデスクトップサービスアカウントを作成する方法は?

  19. 19

    データはサーバーから来るとマルチレベルドロップダウンリストとバインドを作成する方法

  20. 20

    LaravelのコントローラーにAlgoliaを統合するためのサービスプロバイダーまたはトレイトを作成するにはどうすればよいですか?

  21. 21

    海生まれのバープロットをサブプロットとしてプロットする方法は?

  22. 22

    Plotly:graph_objectsを使用してサンバーストサブプロットを作成するにはどうすればよいですか?

  23. 23

    PythonでrestAPIlocalhostサーバーからアップロードされた画像エントリを削除する方法は?

  24. 24

    グレムリンサーバーをモックする方法、または単体テスト用のメモリ内グラフを作成する方法は?

  25. 25

    vs 10で作成されたc#デスクトップアプリケーションファイルを実行するには、コンピューターにSQLサーバーをセットアップする必要がありますか?

  26. 26

    VBAで作成されたドロップダウンリストのフォントサイズとフォーマットを変更する方法

  27. 27

    インターネットなしでコマンドプロンプトからセレンサーバーを起動する方法はありますか?

  28. 28

    各サブプロットにいくつかの曲線があるPlotlyでサブプロットを作成するためにループする方法は?

  29. 29

    ヘッドレスで使用するためにLinuxサーバーをセットアップする方法は?

ホットタグ

アーカイブ