システムとモデリング

modelica, Julia, Design Structure Matrix, SysML, 他モデリング全般について。

Gadfly.jlでDesign Structure Matrixを描画する。

今まではDesign Structure Matrixの描画にSeaborn.jlを使用してきました。

otepipi.hatenablog.com

ただSeaborn.jlPython環境がないと使用できない点、日本語に対応していない点が不満でしたので、描画をGadfly.jlに乗り換えたいと思います。

Gadfly.jlでの描画

Gadfly.jlのドキュメントは以下になります。

gadflyjl.org

描画コードを以下に記載します。

using Gadfly
using LinearAlgebra

function plotDSM(DSM,label)

DSM[diagind(DSM)] .= -1


spy(DSM, Scale.y_discrete(labels = i->label[i]), Scale.x_discrete(labels = i->label[i]),
    Guide.ylabel(nothing), Guide.xlabel(nothing, orientation=:vertical), Guide.xticks(orientation=:vertical),
    Scale.color_continuous(colormap=Scale.lab_gradient( "darkgrey","aliceblue", "navy")),
    Theme(minor_label_font_size=16pt, key_position=:none, bar_spacing= 0.5mm, panel_fill="darkgrey"))

end

DSM=[ 0 1 0 0 1 1 0; 0 0 0 1 0 0 1; 0 1 0 1 0 0 1; 0 1 1 0 1 0 1; 0 0 0 1 0 1 0; 1 0 0 0 1 0 0; 0 1 1 1 0 0 0];
label = ["ああ","B","C","D","E","F","G"];

plotDSM(DSM,label)

これを実行することで以下のように描画されます。

f:id:Otepipi:20190606062047p:plain

日本語にも対応しています。

今回はここまでにします。