dak ブログ

python、rubyなどのプログラミング、MySQL、サーバーの設定などの備忘録。レゴの写真も。

d3.js の散布図でのクリックイベントの設定方法

2022-01-04 21:08:42 | javascript
d3.js の散布図でクリックイベントを設定する方法のメモ。

「d3.js の散布図でマウスオーバーでメッセージを表示」の例で、以下のように .on("click", function (e) {}) を指定するとクリックイベントを処理することができます。
svg.append("g")
.selectAll("circle")
.data(dataset)
.enter()
.append("circle")
.attr("cx", function (d) { return xScale(d[0]); })
.attr("cy", function (d) { return yScale(d[1]); })
.attr("r", 10)
.attr("fill", function (d) {
   return "rgba(0, 0, " + Math.round(colorScale(d[2])) + ", 0.8)";
})
.on("mouseover", function (e) {
    const d = e.target.__data__;
    console.log(e);
    tooltip
    .style("left", e.x + 30 + 'px')
    .style("top", e.y + 'px')
    .html(
        "id: " + d[3] + ""
        + "[" + d[0] + ", " + d[1] + "]" + ""
        + "value: " + d[2]
    )
    .style("opacity", 1)
    ;
})
.on("mouseout", function (e) {
    tooltip
    .style("opacity", 0)
    ;
})
.on("click", function (e) {
    const d = e.target.__data__;
    console.log(e);
})
;


wget でのタイムアウト指定

2022-01-04 20:37:25 | linux
wget でタイムアウトを指定する方法のメモ。

wget でタイムアウトさせるには、--timeout {秒数} オプションを指定します。
デフォルトでは、タイムアウトするとリトライするため、リトライさせないようにするには、
初回アクセスを含む最大試行回数を -t オプションで指定します。
wget --timeout 3 -t 1 https://www.goo.ne.jp/

上記のコマンドの例では、3秒でタイムアウトするとリトライせずに終了します。

flask でのパラメータの取得方法

2022-01-04 20:33:40 | python
flask でパラメータを取得する方法のメモ。

POST パラメータを取得する場合は、request.form.get(パラメータ名) で参照します。
@app.route(..., methods=["POST"])
def view():
  val = request.form.get('var')

ファイルを受信する場合は、request.files.get(ファイル名) で参照します。
@app.route(..., methods=["POST"])
def view():
  bytes = request.form.files.get(ファイル名).stream.read()

ファイルを送信するための form は以下のように記述します。
<form name="upload_form" method="post" action="upload" enctype="multipart/form-data">
<input type="file" name="upload_file"><br>
<input type="button" value="アップロード" onclick="upload_form.submit();">
</form>


GET パラメータを取得する場合は、request.args.get(パラメータ名) で参照します。
@app.route(...):
def view():
  val = request.args.get('var')