2017-09-01 25 views
1

私はgraphコマンドを使っていくつかのグラフを生成するpythonで、シェルコマンドとして直接dotを呼び出すことで簡単なモジュールを作りました。私は自分のウェブサイトにこのモジュールをオンラインにするつもりだった。ただし、graphviz(とドット)を使用するには、スクリプトを呼び出すコンピュータにインストールする必要があります。残念ながら、自分のWebサイトをホストしている会社は、自分のサーバーにインストールしません。graphvizをインストールする代わりにソースコードから直接使用することはできますか?

私は代替案を考えようとしていたので、まだモジュールをオンラインにすることができました。グラフを生成するために呼び出すことができるgraphviz APIがあることを読んだが、それに関する情報を持つサイトはダウンしていた。

graphvizはオープンソースでソースコードはオンラインで入手できますので、私のホームディレクトリにすべてのソースコードをコピーして、graphvizを実行せずに動作させることができますか?正式なインストールプロセスを通じて?私は実際にインストール中に何が起こっているのか分からず、インストールプロセスが自分で手動で行うことができるかどうか疑問に思っていました。 (私は、正しい場所にファイルをコピーしたり、環境変数を設定したりするのかどうかはわかりませんでした。同様に、私のコードを変更したり、dot.exeの絶対パスを呼び出すのは問題ではありません誰かが私がこれについて学ぶかもしれない場所を知っていますか?あるいは、これが不可能なものなら、私に知らせてください。

ご協力いただきありがとうございます。 (私はGoogleのグラフAPIを知っていますが、私のしていることには適していません)

答えて

0

ただし、 GraphvizのはJavascriptに移植されViz.jsを使用していますd3-graphvizを、使用することができます。ここでは、固定文字列からサンプルグラフを生成する方法を示します。

<!DOCTYPE html> 
 
<meta charset="utf-8"> 
 
<body> 
 
<script src="//d3js.org/d3.v4.min.js"></script> 
 
<script src="https://unpkg.com/[email protected]/viz.js"></script> 
 
<script src="https://unpkg.com/[email protected]/build/d3-graphviz.min.js"></script> 
 
<div id="graph" style="text-align: center;"></div> 
 
<script> 
 

 
d3.select("#graph").graphviz() 
 
    .renderDot('digraph{A -> B -> C-> A}'); 
 

 
</script>

あなたがオンラインでのpythonモジュールを入れて、それが出力DOTソースを聞かせている場合、あなたはそれをロードし、グラフを描画するためにD3-graphvizのを使用するために、いくつかのJavaScriptコードを記述することができるはずです。

+0

これは存在しませんでした。どうもありがとうございます!私はこれを絶対に見ていきます! – ffConundrums

+0

Chromeでの応答を更新しました – magjac

0

Google Chartsの古いバージョンには、グラフビズグラフを作成するためのAPIが廃止されているようですこれはまだ機能しており、graphvizがローカルにインストールされている場合に作成できるのと同じグラフを作成しているようです。それは私の目的のために働くので、おそらくそれは他の人を助けるでしょう。 CHLのPARAMとして、単にあなたが生成したいグラフのgraphvizの仕様を供給し、次のURLを作成し、それを使用する

https://chart.googleapis.com/chart?cht=gv&chl=<your graph string here> 

例:

ここれますgraphvizの中に簡単なグラフの仕様:

digraph{A->B->C->A} 

私は下図のように、URL内CHLのPARAMとしてその正確な文字列を指定することで、APIを使用して、このグラフを作成することができます。リンクをクリックすると、グラフが表示されます。ここで

https://chart.googleapis.com/chart?cht=gv&chl=digraph{A->B->C->A}

説明することができますリンクです!それはCで書かれており、コンパイルする必要がありますので、あなたは、そのソースから直接Graphvizのを使用することはできません

https://developers.google.com/chart/image/docs/gallery/graphviz

関連する問題