JpGraphのLinePlotでSetColor()しても色が変わらない

JpGraph(Ver.4.2.0)を使ってPHPでグラフを描いていてはまった。
SetColor()を使って色を指定してもなぜか色が変わらないというトラブル。

ソースコードその1:

<?php
require_once ('jpgraph/jpgraph.php');
require_once ('jpgraph/jpgraph_line.php');

$ydata = array(1,2,1,3,1,4);

$graph = new Graph(400,300);
$graph->SetScale("textlin");

$lineplot=new LinePlot($ydata);

$lineplot->SetColor("orange");

$graph->Add($lineplot);

$graph->Stroke();
?>

ソースコードその2:

<?php
require_once ('jpgraph/jpgraph.php');
require_once ('jpgraph/jpgraph_line.php');

$ydata = array(1,2,1,3,1,4);

$graph = new Graph(400,300);
$graph->SetScale("textlin");

$lineplot=new LinePlot($ydata);

$graph->Add($lineplot);

$lineplot->SetColor("orange");

$graph->Stroke();
?>

どちらもオレンジ("orage")を指定しているはずが、その1はなぜか青で、その2だと期待通りのオレンジ。

何が違うのかと言うと、その1はSetColor()してからAdd()。一方のその2はAdd()してからSetColor()。

なぜか後者(その2)の順番でないと期待通りに色が変わらない。

ぐぐって探してみたんだが、このことに触れているサイトは見つけられなかった。
Ver.4.2.0の不具合なのかもしれないねえ。
それともPHPのバージョンのせい? PHPはVer.5.3.3。

@PAGESがいつの間にかサービス終了していた件

@PAGESがいつの間にかサービス終了していた。
先月(2月)の末で終わっていたようだ。
WordPressを使い始めた頃のサーバーの一つがたしか@PAGES。
最近はずっと放置だったが、一応アカウントは持っていた。
サービスを終了するよというメール連絡には気づかなかったのだが、ぐぐってみると事前のメール告知はあったらしいので、おそらく迷惑メールに紛れて見落としたのであろう。

@PAGES、サービス終了

3次のスプライン関数

なにを今さら? なんだが、ちょっと「あれ?」だったことがあったので、覚書ってことで。

1~NまでのN個の点があるとする。
この時、区間の数は N-1 個。
3次関数の係数は4個なので、求めたい係数の個数は 4*(N-1) = 4N-4 個。

制約条件は以下の通り。

  1. 各区間の始点 xi での値は元の点の yi と等しい。
    fi(xi) = yi (iは1~N-1)
    これが N-1 個の制約条件。
  2. 各区間の終点 xi+1 での値は元の点の yi+1 と等しい。
    fi(xi+1) = yi+1 (iは1~N-1)
    これが N-1 個の制約条件。
  3. 両端を除く各点で1階微分が等しい。
    f'i(xi+1) = f'i+1(xi+1) (iは1~N-2)
    これが N-2 個の制約条件。
  4. 両端を除く各点で2階微分が等しい。
    f''i(xi+1) = f''i+1(xi+1) (iは1~N-2)
    これが N-2 個の制約条件。
  5. 両端の区間の端っこでは2階微分がゼロ。
    f''1(x1) = 0
    f''N-1(xN) = 0
    これが2個の制約条件。

1~5までの制約条件の数を足すと 4N-4 個。
つまり未知数の数と等しく、一意に決まる。

めでたし、めでたし。どんとはれ。

献血してHIV陽性だったら日赤が教えてくれる?? 朝日新聞の大罪??

asahi.comの記事より:

献血後に呼び出され… 新婚でまさかの宣告
鍛治信太郎 2018年2月6日06時00分

患者を生きる・HIV陽性(1)

東京都内の分譲マンションに住む男性(47)は、会社員の妻(45)、小学生の息子とごく普通に暮らす会社員だ。だが、たった一つ、妻以外には打ち明けていない秘密がある。

(略)

2004年1月、それ以前の勤務先で同僚だった妻と結婚した。その4月、会社の近くに毎年来る献血車で献血した。献血は学生時代から何度かしており、以前も同じ場所でした覚えがある。

数日後の夜、帰宅すると日本赤十字社から手紙が来ていた。「お伝えしたい重大なことがあるので連絡をいただきたい」という内容だった。「献血ぐらいで何事だろう」とドキドキした。

翌日、昼休みに電話すると、担当者にこう言われた。「今回、ご協力いただいた献血で検査をしたところ、お知らせしなければならないことがあります。お手数ですが、お越しください」。「内容は何ですか?」とかなりしつこく食い下がったが、電話では話せないという。

約1週間後、半日休を取り、都…

有料会員限定記事こちらは有料会員限定記事です。有料会員になると続きをお読みいただけます。

https://www.asahi.com/articles/ASL260CP5L25UBQU00L.html

え~~~~

日赤の公式見解では、献血した時にHIVの検査結果は教えない、ということになっている。
実際のところはどうなのかは知らない。
医療事故による日赤職員への感染の危険性とか、本人に自覚がないことが原因での他の人への感染の可能性とか、そんなことを考えると、実は結果を教えている、ということはありえなくはないような気もする。
とはいえ、教えない、というのが公式見解。お約束。

例えば、

Q.エイズ検査結果も教えてほしいのですが?

A.エイズ検査の結果を通知すると、HIVに感染しているかもしれないと思っている人が、HIV検査の結果を知る目的で献血する恐れがあります。現在の科学技術では、感染してすぐの時期にはHIVを検出できません。特に感染を起こす恐れのある行為をしたばかりで不安なために検査をしたいと思っている方の場合には、感染していても検査でわからないことが多いと思われます。そのような時期に献血されますと、検査をすり抜けた血液が患者さんに輸血されてウイルスが感染してしまう恐れがあります。このような理由でエイズ検査結果はお知らせしていません。より安全な血液を患者さんに届けるためにもご理解をお願いいたします。

https://www.tokyo.bc.jrc.or.jp/qa/index3.html

しかし、この記事を読んで「ほう、なんだ、実は結果を教えてくれるのか。朝日新聞が書いているのだから、まあ信憑性はあるよね。じゃあ一つ献血のていで検査するか」と思う人がいても不思議ではない。

記事には有料で読める続き部分があるので、そこに何か書いてある可能性はある。例えば、「2004年頃は結果を通知していましたが、今はやっていません」とか。(記憶だとそんな時期はなかったと思うが)
でも、そんな大事なことなら、有料部分ではなくて、無料で読める記事冒頭部分に書くべきだろう。
「この記事はフィクションです。実際には日赤がHIV検査結果を教えてくれることはありません」とかさ。

一体何を考えているんだろう?
献血テロを狙っているというのが一番しっくりくるのだが?
あるいは輸血が禁忌な宗教とか?

まさかねえ……

肩こり 肩甲骨はがし

最近(?)なのかな、よく見かけるこちらのイラスト。

肩甲骨はがし 崎田ミナ

ソースはなんだろうかと探したところ、どうやら 【撃退】肩こりには「世界一受けたい授業」でも紹介された“アレ”をはがすべし! らしい。

作者は崎田ミナさん。
東京在住で、健康と猫にしか興味がないイラストレーターだそうだ。
へえ~
続きを読む

乾電池の液漏れ

乾電池の液漏れについて。
ここ数年で乾電池の液漏れは2回。
1つめはテレビのリモコン。これは液漏れに気付くのが遅く、気付いた時にはリモコンの基盤まで腐食していてリモコンアウト。
2つめは目覚まし時計。こちらは気付くのが早かったようで、金属の端子が若干腐食した程度でセーフ。

「1回目の時に対処を考えろよ」というのはごもっともであるが、1回目の時は「運が悪かったなあ」で済ましてしまっていた。大反省。

さすがに3回目は起こらないようにということでいろいろググってみた。

【結論】 消費電力が低い機器はアルカリではなくてマンガンを使え! 消費期限が過ぎた電池は使えていても交換!

続きを読む

uBlock Originのフィルターの書き方

Firefoxの広告フィルターであるuBlock Originのフィルターの書き方の覚書。
AdBlockとかでも多分同じ。古いバージョンだと違うかもしれない。

  • 全てのURLでXXXというクラスの要素を消す
    ##.XXX
  • 全てのURLでXXXというIDの要素を消す
    ###XXX
  • www.example.comでXXXというクラスの要素を消す
    www.example.com##.XXX
  • www.example.comでXXXというIDの要素を消す
    www.example.com###XXX
  • クラス名の前方一致
    www.example.com##*[class^="XXX"]
  • クラス名の後方一致
    www.example.com##*[class$="XXX"]
  • ID名の前方一致
    www.example.com##*[id^="XXX"]
  • ID名の後方一致
    www.example.com##*[id$="XXX"]
  • URLを丸ごと拒否
    ||example.com^