私はこのスクリプト protovis を持っています:
<script type="text/javascript+protovis">
var w = 600;
var h = 600;
var img = new pv.Panel()
.width(w)
.height(h);
img.add(pv.Image)
.url("./icon/image.gif")
.title("image");
img.add(pv.Dot)
.data(data)
.left(function(d) d[0] * w)
.bottom(function(d) d[1] * h)
.size(function(d) d[2] * 100)
.fillStyle("rgba(30, 120, 180, .6)")
.strokeStyle("white");
img.render();
</script>
data1 は Javascript ファイルで宣言されています。
var data = [[.1, .1, 1], [.2, .2, 2], [.3, .3, 3]];
テストすると、3つのドットで画像が表示されます。しかし、たとえばJavascript関数のデータを変更してから、新しいデータでプロトビスを再描画する場合、どうすればよいかわかりません。私の場合、ユーザーがメニューをクリックすると、データベースから新しいデータを受け取り、データを更新します。しかし、データを変更した後、画像を再描画する必要があります。
新しいデータで画像を再描画するために、どうすればウェブページをリロードできるのだろうと思っていました。画像を描画する前に、POST でデータを渡す Web ページをリロードし、Javascript でデータを取得することを考えていました。
しかし、このソリューションが機能するかどうか、それが最善の方法であるかどうかはわかりません。