Wednesday, 23 September 2020

d3js


シス管の移行作業を横目で見ながら、OSの補講の様子を discord で見ながら...

  そういえばOSの課題で使ってるPerl/Tkなんとかするか

malloc を繰り返して fragmentation を graphical に見るって奴なんですが、いまどき Perl/Tk 入れさせるのもな。X11 いるし。

  HTML生成して、そっちで graph を拡大縮小スクロールできれば良い

ってので、いろいろ探すんですが、まぁ、

  CSS + JavaScript って最低だよね

なにが最低って、何年か前に学んだものは今では「最低最悪、あれはやるな」ってことになってるのが普通。で、見つけたのが

  d3js

なるほど。まぁまぁ、使えるみたい。

svgContainer = d3.select("body").append("svg")
.attr("width", 1200 * scale)
.attr("height", 300)
.attr("id", "halfpage");

svgContainer.selectAll("rects1").data(elements).enter().append("rect")
.attr("width", function(d,i) { return xydata[i*2+1] * scale;} )
.attr("height", 20)
.attr("y", 175)
.attr("x", function(d,i) { return xydata[i*2] * scale; })
.style("fill", color)
.style("stroke-width", 1)
.style("stroke", "black");

ってだけだな。なのだが、前のの消し方がわからん。exit().remove() じゃ消えんぞ? もう良いよ

   svgContainer.remove();


で。ってわけで svg を毎回消すという残念さ。でも、できたから良いか。

No comments: