JSFiddle - React, Tailwind, and code Playground
by katsukino
HTML
<div id="AllBox" class="allbox">
<!-- <div id="chartContainer" class="cont pos divSize"></div> -->
</div>
<script src="https://cdn.canvasjs.com/canvasjs.min.js"></script>>
<script
src="https://code.jquery.com/jquery-3.7.0.min.js"
integrity="sha256-2Pmvv0kuTBOenSvLm6bvfBSSHrUJ+3A7x6P5Ebd07/g="
crossorigin="anonymous"></script>
CSS
body {
background-image: url("https://thumb.ac-illust.com/f2/f2d953069106b4a619395315533f13cf_t.jpeg");
background-repeat: no-repeat;
}
.allbox{
margin:0;
top:0;
left:0;
width:100%;
height:100%;
}
.cont {
background-color:rgba(255,255,255,0.0);
border:1px solid gray;
border-radius:10px;
position:absolute;
margin:0;
padding:0;
display:block;
/*transform: translate(80px,110px);*/
}
.pos {
top:0px;
left:0px;
/*transform: translate(80px,110px);*/
}
JavaScript
let chCount = 5;
let chart=[];
let chSize = 150;
let deg2Rad = Math.PI/180;
let rot = 0;
let oneSide = true;
window.onload = function () {
// スタイルシートの同適生成 チャートコンテナのサイズ指定
//スタイル エレメントを作成
let style1 = document.createElement("style");
//スタイルをヘッダに入れる
document.head.appendChild(style1);
//スタイルシートの定義
style1.sheet.insertRule(".divSize{ width:" + chSize + "px;height:" + chSize + "px;}", 0 );
let Xaxis;
Xaxis = new Object();
Xaxis.includeZero = true;
Xaxis.crosshair ={enabled:false,snapToDataPoint: false}
Xaxis.crosshairSnapToDatePoint = true;
Xaxis.lineThickness = 0;
Xaxis.maximum = 5;
Xaxis.minimum = -5;
Xaxis.labelFontSize = 10;
Xaxis.tickThickness = 1;
Xaxis.tickPlacement = "inside";
Xaxis.labelPlacement = "inside";
let Yaxis;
Yaxis = new Object();
Yaxis.includeZero = true;
Yaxis.crosshair ={enabled:false,snapToDataPoint: false}
Yaxis.crosshairSnapToDatePoint = true;
Yaxis.lineThickness = 0;
Yaxis.maximum = 5;
Yaxis.minimum = -5;
Yaxis.labelFontSize = 10;
Yaxis.tickThickness = 1;
let leg;
leg = new Object();
leg.cursor="pointer";
leg.verticalAlign= "top";
leg.horizontalAlign= "left";
leg.dockInsidePlotArea= true;
leg.fontSize= 15;
let ttp;
ttp = new Object();
ttp.cornerRadius= 4;
ttp.borderThickness= 2;
ttp.borderColor= "rgba(0,0,255,1)";
// チャートコンテナの動的生成
for (let i=0;i<chCount;i++){
$("#AllBox").append("<div id='chartCon" + i + "' class='cont pos divSize'>");
ttp.content="【A-" + (i+1) +"測点】<br/>X方向: {x}km<br/>Y方向 :{y}km";
let DatX = -4;
let DatY = -1 + i * -0.8;
let PlotDat = calcPos(DatX,DatY,30,1,oneSide);
chart[i] = new CanvasJS.Chart("chartCon" + i, {
animationEnabled: true,
backgroundColor: "rgba(255,255,255,0.5)",
theme: "light2",
axisX:Xaxis,
/* axisX:{
includeZero: true,
crosshair: {
enabled: false,
snapToDataPoint: true
},
lineThickness: 0,
maximum:5,
minimum:-5,
labelFontSize: 0,
tickThickness: 0
},
*/
axisY:Yaxis,
/* axisY: {
includeZero: true,
crosshair: {
...