問題タブ [protovis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - javax.script に JavaScript ライブラリをロードしていますか?
Java からProtovis JavaScript を実行し、評価済みの SVG コードを取得したいと考えています。私は javax.script.* を使用して Javascript を実行しています:
これは、通常は Protovis で行われるように、Protovis 自体をロードしなかったため、文句を言うでしょう。
完全なJavascriptをeval()コマンドにソースする以外に、javax.scriptを介してJavascriptを実行するときにライブラリをロードする良い方法はありますか?
java - javax.script または Rhino を使用して、ブラウザ コンテキスト (envjs など) で Java で javascript を実行しますか?
以下を使用してJavaプログラムからProtovis JavaScriptを実行しようとしていますjavax.script
:
これを実行するには、JavaScript エンジンが Web ブラウザーのすべてのコンテキストを持っている必要があります。これに最適なオプションはenvjsのようです。残念ながら、JVM に含まれる Rhino のバージョンは最新ではなく、envjs に必要なすべてが含まれていないようです。
javax.script からブラウザー コンテキストを操作して成功した人はいますか、それとも何か不足していますか?
これは、「Java6 Rhino スクリプト エンジンで実行される JavaScript 用の「ウィンドウ」オブジェクトを作成できますか」という質問に関連しています。
protovis - Protovis行の値属性へのアクセス
Protovis Arcレイアウトを使用しており、データセットで定義された「value」プロパティに従ってノード間のリンクに色を付けたいと思います。どうすればアクセスできますか?
データセットは次のように定義されます。ノード:... {nodeName:"Books"}..。
リンク:... {ソース:1、ターゲット:4、値:20}..。
arc.link.add(pv.Line).strokeStyle(function(d)d.value> 10? "#cc0000": "#eeeeee"); - 動作しません
javascript - 印刷時にサイズ変更イベントをトリガーする
protovisを使用してグラフを作成する div があります。div にはwidth: 100%
andがheight: 100%
あり、グラフを作成するコードは$('#chart').width()
andを使用し$('#chart').height()
て、レンダリング時に div のサイズを取得し、ページをグラフで埋めます。ウィンドウのサイズ変更イベントをキャプチャし、ウィンドウのサイズが変更されたときにサイズが変更されるように、div とグラフを調整します。
今、私は印刷する必要があります。ブラウザがプリンタ用にページをレンダリングしているときにサイズ変更を発行することを望んでいましたが、そうではありません。少なくとも Safari と Firefox はそうではありません。Chrome は、幅ではなく高さのみをサイズ変更するという奇妙なことを行います。印刷の直前にこの動作をトリガーする方法はありますか?
編集。次のhtmlを検討してください
ウィンドウのサイズを変更すると、div の内容が変更されます。印刷すると、レンダリング プロセスでサイズ変更イベントが発生しません。
javascript - Javascript:array.forEach()が機能しない場合があります
これは私のコードスニペットで、プログラムはforeachループに入りません。
配列のインデックスを文字列( "me"、 "you")から整数に変更すると、次のように機能します。
あらゆる種類のインデックスを持つ配列を反復処理するソリューションを実装するのを手伝ってもらえますか?私の目的は、特定の日付オブジェクトの値を格納することです。
Protovisライブラリのデータを使用し、入力として配列が必要なAFAIKを使用します。
protovisの例で使用するデータ構造は、上記のデータ構造よりも複雑です。
私のプロジェクトでは、JavaBeanを介していくつかのオブジェクトのセットを送信します。これらのオブジェクトには、とりわけ日付が含まれています。私の目的は、protovis Webサイトhttp:// vis.stanford.edu / protovis / ex / area.htmlに表示されている、これらのオブジェクトをこのようなグラフに表示することです。
時間の横軸を使用し、特定の時間のオブジェクトの数の縦軸を使用します。これが、配列を日付でソートしたい理由です。AFAIKprotovisは、デフォルトモード(関数チェーン)でのダイアグラムのデータ入力として配列のみを許可するためです。
編集:今のところ私は方法を変更しました。文字列を配列キーとして保存する代わりに、次のようにします。これが私の元のコードスニペットです:
edit2:元の入力を追加しました:var result2 = {"h":{10 "documents":[11 {12 "biographicalCategories":[13]、14 "body":"ギリシャの保守的な政府は1955年の合意の調査を命じました戦争の際に侵入するワルシャワ協定軍と戦うためのゲリラネットワークの確立のためのCIAとギリシャ軍の間。"、15"記述子 ":[16]、17" generalOnlineDescriptors ":[18]、19" guid ":0、20"見出し":"ギリシャ戦争の計画を調査する"、21"場所":[22"ギリシャ "23]、24"名前 ":[25]、26" onlineDescriptors ":[27]、 28 "onlineLocations":[29]、30 "onlineOrganizations":[31]、32 "onlinePeople":[33]、34 "onlineTitles":[35]、36 "組織":[37]、38 "人":[39]、40 "publicationDate": "1990-11-21 00:00:00.0 CET"、41 "sourceFile" :"0402635.xml"、42 "taxonomicClassifiers":[43]、44 "titles":[45]、46 "typesOfMaterial":[47]、48 "score":0.80242133 49}、
edit3上記のコードは現在機能しています:
簡単に言うと、tlk配列を使用して、日付をインデックスに反映します。resultTmp配列の1つのインデックスについて、日付とその日付に関連するオブジェクトのセットを格納します。コードの次の部分では、日付を古いものから新しいものへと並べ替え、同様にresultTempを並べ替えます。resultTempのソートされたバージョンは、結果の配列にあります。
私は次の方法でprotovisでデータを提示します:
例示的な結果は次のようになります。i.imgur.com/WODYA.pngx
軸とy軸を印刷するためのコード、および日付からグラフ幅にスケーリングするためのコードを含めませんでした。例は、protovisの例のページにあります。
ところで:私はその部分でなぜ混乱しています:
最後のキーとして、私は「含む」を取得しますか?インターネットで答えを見つけようとしましたが、成功しませんでした。Bearsは彼のコメントで、私がこのprobelmを取得する理由は、配列のプロパティを反復処理しているためだと説明しました。
django - DjangoでProtovisを使用する
DjangoサイトでProtovisを動作させようとしています。これが私のサンプルコードです:
このファイルをFirefoxで直接開くと、Protovisの「HelloWorld」画像が文字列「{{object.name}}」とともに表示されます。
しかし、Djangoサーバーから.htmlファイルテンプレートにアクセスすると、{{object.name}}(オブジェクトの名前が出力されます)しか表示されません。
DjangoでのProtovisの使用に対応して、これまで同様の問題は見つかりませんでした。誰かがそれを機能させているか、私が間違っていることを知っているなら、私に知らせてください。
ありがとう、
javascript - protovis で非葉ノードのデータ/値を与える
私のデータは次のようになります。
これは、例でツリー構造にデータを配置することを提案する方法に似ています。私の質問はこれです: node1 と node4 に値を与えるにはどうすればよいですか?
ありがとう。
javascript - Protovisでの複数のデータオブジェクトの処理(javascript情報の視覚化)
以下のようなデータオブジェクトのセットからの数値のみを含む配列のセットを整理してProtovisに渡して、オブジェクトごとに3つの別々の円グラフ(pv.Wedge)を作成しようとすると非常にイライラします...
ドキュメントから、Protovisで実行する必要のあるループはほとんどないと言われていますが、myDataを正しく操作/解析できないようです。そのため、残念ながら、明示的なループに頼りました。
さまざまな種類のループを試しましたが、円グラフを表示したい空のスペースの下に数字を印刷するのが最善です。これを達成するために私が何をすべきかについて誰かが私にヒントをくれたらありがたいです。現在、私は立ち往生しています-
}
javascript - protovis ストリームグラフをアニメーション化するにはどうすればよいですか?
protovis ストリームグラフをアニメーション化する方法がわかりません。i, j
最善の方法は、単にインデックスの配列を渡し.layers()
て、関数.x()
と.y()
関数に実際の更新値を検索させることだと思います。もっと簡単な方法はありますか?
javascript - プロトビス出力の印刷(プログラムによる)
視覚化のためにprotovisに切り替えることを考えています。しかし、私を懐疑的にしているのは、protovisがブラウザでdivとして出力を作成するため、各画像を開いて[印刷]を押さなくても、一度に大量の画像を作成するための少なくとも半自動の方法があるのではないかと思います。 "手動で。
したがって、質問は次のようになります。
- V8のようなブラウザレスのJSエンジンを使用してコードを実行し、結果を出力できると思いますか?
- ブラウザ内での開きと印刷を自動化できますか?
- protovisから自動画像を取得する別の方法はありますか?
ありがとう、ニコラス