pukiwikiプラグイン/svggraphs/レーダーチャート詳細 - Tomose's junkyard.
以下ダークモード対応とscalevalue追加のメモ
レーダーチャートの背景色変更
graphradar.inc.phpの
1つ目(一番外の線とその間)
<polygon points="$stroke" stroke="white" fill="#232f3b" />を変更
2つ目(外以外の線)
<polygon points="$stroke" stroke="white" fill="none" />
要素の文字色変更
graphradar.inc.phpの
<text x="$textx" y="$texty" fill="white">$tmpname</text>
補助線のごとの数値色指定
graphradar.inc.php
$html .='<text x="'.($cx+5).'" y="'.$yy.'" fill="white">'.$keys.'</text>';
scaleの色変更
graphradar.inc.php
$html .= '<text x="'.($cx + 5).'" y="'.$yy.'" fill="white">'.htmlspecialchars($scaleValue).'</text>';
scalevalueで表示するものをscaleと変更できるように修正
修正後コードgraphradar.inc.php
case 'scale':
$scales = $lib->trimexplode(',', $argss[1]);
break;
case 'scalevalue':
$scales2 = $lib->trimexplode(',', $argss[1]);
break;
foreach ($scales as $values) {
$scaleValue = isset($scalesMap[$values]) ? $scalesMap[$values] : '';
$yy = intval($cy - $values * $r / $vmax);
$html .= '<text x="'.($cx + 5).'" y="'.$yy.'" fill="white">'.htmlspecialchars($scaleValue).'</text>';
$stroke ="";
for ($i = 0; $i < $datacount; $i++) {
$sangle = $i * 360 / $datacount;
$endx = intval($cx + $r * ($values / $vmax) * sin($sangle / 180 * pi()));
$endy = intval($cy - $r * ($values / $vmax) * cos($sangle / 180 * pi()));
$stroke = $stroke." ".$endx.",".$endy;
}
$html .= '<polygon points="'.$stroke.'" stroke="LightGray" fill="none" />';
}
凡例の箱の色変更
svggraphs.inc.php
<rect width="$legendw" height="$legendh" style="fill:#232f3b;stroke-width:1;stroke:white" />
凡例の文字の色変更
$rslt .='<text x="40" y="'.($tmp+2).'" fill="white">'.htmlsc($key).'</text>'."\n";
管理者: nattu
PukiWiki 1.5.4 © 2001-2022 PukiWiki Development Team | PHP: 7.4.33. 変換時間: 0.005 秒