CanvasJS线从原产地?

CanvasJS Line from origin?

提问人:Leon Hoffmann 提问时间:9/12/2023 更新时间:9/12/2023 访问量:24

问:

我有一个生成的带有单个数据点的折线图。现在我建议添加一条从原点到数据点的线。我该怎么做?

如果需要,这是我的代码。

<style>
    table.center {
        margin-left: auto;
        margin-right: auto;
    }
</style>
<html>


</html>
<?php include '../header.php';
//Sitzung Initialisieren
session_start();
//$_SESSION['Ueberpruefung'] = 'N';



$user = "";
include('../../inc/server.php');

$connectionInfo = array(
    "UID" => $uid,
    "PWD" => $pwd,
    "Database" => $databaseName2,
    "CharacterSet" => $CharacterSet
);
$conn = sqlsrv_connect($serverName, $connectionInfo);





$Seriennummer = $_REQUEST['SN'];

echo "<img src='../images/header.png' width=100%>";

$query = "select 
            T1.ItemCode,
            T1.itemname,
            T1.FrgnName,
            T1.U_td_pistonarea as 'Kolbenfläche',
            convert(int,T1.U_td_opressure) as 'Betriebsdruck',
            convert(int,T1.U_td_tension) as 'Spannkraft'

            

            from
                OINS T0
                left join OITM T1 ON T0.itemCode = T1.ItemCode
            where 
                T0.internalSN = '$Seriennummer'

            

            order by T0.createDate DESC";

$tsql = iconv('', '', $query);
//Absetzen des SQL Befehls    
$stmt = sqlsrv_query($conn, $tsql);

if ($stmt) {
} else {
    echo "Fehler beim ausführen des Statements.\n";
    die(print_r(sqlsrv_errors(), true));
}

//Beschreibung der Datensätze
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_NUMERIC)) {
    $ITHBestellnummer = $row[1];
    $Bennenung = $row[2];
    $Typ = $row[3];
    $Kolbengroesse = $row[3];
    $Betriebsdruck = $row[4];
    $Spannkraft = $row[5];
}



$Spannaddierer = $Spannkraft / $Kolbengroesse;
$Betriebsaddierer = $Betriebsdruck / $Kolbengroesse;
$BerechnungSpann = '';
$Berechnungdruck = '';
if ($Spannaddierer)

    echo "<div style='text-align:center;'>";

echo "<h3>Rechner für SSZ der Seriennummer : $Seriennummer</h3>";
echo "<h3>Calculator for SSZ of the Serialnumber : $Seriennummer</h3>";
echo "<p>";
echo "<p>";
echo "<form   name='Umrechnung1'>";
echo "<input type='hidden'  size='20'  name='Kolbengroesse' value = '$Kolbengroesse'>";
echo " Spannkraft|tension [kN] <input type='number'  size='20'  name='Spann' onkeyup='SpannzuBetrieb()'>";
echo "<input type='BUTTON' disabled value=' = '>";
echo "<input type='number'  size='20'  name='Druckv' onkeyup='BetriebzuSpann()'>Druck|pressure [bar]";
echo "<br>";
echo "<br>";

echo "<input type='BUTTON' value='clear' onclick='clearboth()'>";
echo "</form>";
echo "</div>";

$Wertspannkraft = 0;
$Wertbetrieb = 0;
$zaehler = 0;
$zaehler2 = 0;
$arraywert = [];
// printing table headers with desired column names

//table
?>

<table class="table-fill">
    <thead>
        <tr>
            <th class="text-left">Duck/pressure [bar]</th>
            <th class="text-left">Spannkraft/tension [kN]</th>
        </tr>
    </thead>
    <tbody class="table-hover">


        <?php

        echo "<tr>";
        echo "<td class='text-left'>0</td>";
        echo "<td class='text-left'>0</td>";
        echo "</tr>";

        while ($Wertspannkraft < $Spannkraft & $Wertbetrieb < $Betriebsdruck) {
            $arraywert[] = array("x" => $Wertspannkraft, "y" => $Wertbetrieb);

            $Wertbetrieb = $Wertbetrieb + $Betriebsaddierer;
            $Wertspannkraft = $Wertspannkraft + $Spannaddierer;
            $tablebetrieb = round($Wertbetrieb, 1);
            $tablespann = round($Wertspannkraft, 1);
            if ($Betriebsdruck < 1500) {
                if ($zaehler <= 400) {
                    $zaehler = $zaehler + 1;
                } else {
                    echo "<tr>";
                    echo "<td class='text-left'>";
                    echo $tablebetrieb;
                    echo "</td>";
                    echo "<td class='text-left'>";
                    echo $tablespann;
                    echo "</td>";
                    echo "</tr>";
                    $zaehler = 0;
                }
            } else {

                if ($zaehler2 <= 1200) {
                    $zaehler2 = $zaehler2 + 1;
                } else {
                    echo "<tr>";
                    echo "<td class='text-left'>";
                    echo $tablebetrieb;
                    echo "</td>";
                    echo "<td class='text-left'>";
                    echo $tablespann;
                    echo "</td>";
                    echo "</tr>";
                    $zaehler2 = 0;
                }
            }
        }
        $dataPoints[] = array("x" => $Spannkraft, "y" => $Betriebsdruck);
        

        echo "<tr>";
        echo "<td class='text-left'>$Betriebsdruck</td>";
        echo "<td class='text-left'>$Spannkraft</td>";
        echo "</tr>";
        echo "</tbody>";
        echo "</table>";
        echo "<br>";
        echo "<h4 class=h4>Spannkraft für Schraubenspannzylinder Nummer : $ITHBestellnummer</h4>";
        echo "<h4 class=h4>Tension for SSZ number : $ITHBestellnummer</h4>";


        include '../content.php';


        ?>


        <div id="chartContainer"></div>



        <script type="text/javascript">
            $(function() {

                var MaxwertY = <?php echo json_encode($Betriebsdruck); ?>;
                var MaxwertX = <?php echo json_encode($Spannkraft); ?>;
                const ctx = canvas.getContext("2d");

                var chart = new CanvasJS.Chart("chartContainer", {
                    theme: "light2",
                    zoomEnabled: true,
                    animationEnabled: true,
                    title: {
                        text: "Graph kN/bar"
                    },



                    axisX: {
                        title: "Max Spannkraft|tension: " + MaxwertX,
                        maximum: (MaxwertX+150),
                        minimum: (MaxwertX-150),
                        stripLines: [{
                            value: MaxwertX,
                            label: MaxwertX,
                            showOnTop: true,
                            labelPlacement: "inside",
                            labelFontColor: "black",
                                color: "black"
                        }],
                        valueFormatString: "####"
                    },
                    data: [{
                        type: "splineArea",
                        xValueFormatString: "####",

                    }],
                    axisY: {
                        title: "Max Druck|pressure: " + MaxwertY + "\n(Rote Linie Prüfdruck)" +(MaxwertY+50),
                        maximum: (MaxwertY+350),
                        minimum: (MaxwertY-350),
                        stripLines: [{
                            value: MaxwertY,
                            label: MaxwertY,
                            showOnTop: true,
                            labelPlacement: "inside"
                        }],
                        stripLines: [{
                                value: MaxwertY,
                                label: MaxwertY,
                                labelPlacement: "outside",
                                labelFontColor: "black",
                                color: "black"
                            },
                            {
                                value: (MaxwertY+50),
                                label: "Prüfdruck",
                                labelPlacement: "inside",
                                labelFontColor: "red",
                                color: "red"
                            }
                        ],
                        valueFormatString: "####"
                    },

                    data: [{
                        type: "splineArea",
                        xValueFormatString: "####",


                    }],


                    subtitles: [{

                    }],
                    data: [{
                        type: "line",

                        dataPoints: <?php echo json_encode($dataPoints, JSON_NUMERIC_CHECK); ?>,

                    }]
                });
                chart.render();
            });

            var Spannkraft = "<?php echo $Spannkraft ?>";
            var Betriebsdruck = "<?php echo $Betriebsdruck ?>";


            var Spannbetrag, Druckbetrag, Kolbengroesse;

            function SpannzuBetrieb() {

                Kolbengroesse = document.Umrechnung1.Kolbengroesse.value;
                Spannbetrag = document.Umrechnung1.Spann.value;
                spannrech = parseInt(Spannbetrag);
                if (spannrech <= Spannkraft) {

                    Druckbetrag = (Spannbetrag * 10000) / Kolbengroesse;
                    document.Umrechnung1.Druckv.value = Druckbetrag.toFixed(1);

                } else {
                    alert("Wert zu Groß!");
                    clearboth();
                }
            }; // Ende der Funktion


            function BetriebzuSpann() {


                Kolbengroesse = document.Umrechnung1.Kolbengroesse.value;
                Druckbetrag = document.Umrechnung1.Druckv.value;
                betriebrech = parseInt(Druckbetrag);
                if (betriebrech <= Betriebsdruck) {

                    Spannbetrag = (Druckbetrag / 10000) * Kolbengroesse;
                    document.Umrechnung1.Spann.value = Spannbetrag.toFixed(1);
                } else {
                    alert("Wert zu Groß!");
                    clearboth();
                }
            }; // Ende der Funktion



            function clearboth() {
                document.Umrechnung1.Spann.value = '';
                document.Umrechnung1.Druckv.value = '';

            }
        </script>

如果对我的代码有任何疑问,请随时提问。

我没有什么要补充的了,但我必须再添加一些文字,所以这里有一个无用的段落。

JavaScript 画布JS

评论

0赞 Manoj Mohan 9/14/2023
您能详细说明一下“添加一条从原点到数据点的线”是什么意思吗?是从 (0,0) 到您的数据点值吗?
1赞 Leon Hoffmann 9/15/2023
@ManojMohan 是的,情况就是这样,但我已经解决了。那是因为我的同事的代码不好。

答: 暂无答案