I managed to hide the icon when printing using css media queries
@media print { .canvasjs-chart-toolbar { display: none; } }
Thank you, I defined the height and width in my css file. For some reason, that was the problem when printing. It works now, after I put it directly into the code. There’s just one thing now:
The options icon covers the title when printing.. is there a fix for this?
Thank you. Unfortunately the chart and table overlap when I print it..
My code:
window.onload = function () { CanvasJS.addCultureInfo("de", { decimalSeparator: ",", savePNGText: "Als PNG speichern", saveJPGText: "Als JPEG speichern", printText: "Drucken" }); var chart1 = new CanvasJS.Chart("column-chart", { animationEnabled: true, exportEnabled: true, theme: "light1", culture: "de", title: { text: "Durchschnittliches Ergebnis je Aufgabe", fontFamily: "Verdana", fontSize: "23", padding: 12 }, subtitles: [{ text: < ? php echo json_encode($subtitle);?>, fontFamily: "Verdana" }, { text: < ? php echo json_encode($anzahl);?>, fontFamily: "Verdana", padding: 4 } ], axisY: { includeZero: true }, toolTip: { shared: true }, legend: { cursor: "pointer" }, axisX: { labelAngle: 0 }, data: [{ type: "column", axisYType: "primary", indexLabel: "{y}", indexLabelPlacement: "inside", yValueFormatString: "###.##", name: "1. Testung", legendText: "1. Testung", showInLegend: true, dataPoints: < ? php echo json_encode($dataPoints1, JSON_NUMERIC_CHECK);?> }, { type: "column", axisYType: "primary", indexLabel: "{y}", indexLabelPlacement: "inside", yValueFormatString: "###.##", name: "2. Testung", legendText: "2. Testung", showInLegend: true, dataPoints: < ? php echo json_encode($dataPoints2, JSON_NUMERIC_CHECK);?> }] }); chart1.render(); $("#exportButton").click(function(){ window.print(); }); }
<div id="chartsContainer"> <div class="chart mt-4 ml-4 mb-4" id="column-chart"></div> <article class="col-md-5 mt-4 small-font"> <br><br><br> <b>Legende</b> <table class="table table-sm"> <tbody> <tr> <td class="text-center">Lautfehler</td> <td>=</td> <td>Lautüberprüfung (Wieviele Laute von 46 waren falsch?)</td> </tr> <tr> <td class="text-center">PD</td> <td>=</td> <td>Phonematische Differenzierung</td> </tr> [ ..... ] </tbody> </table> <button id="exportButton" type="button">Print The Page</button> </article> </div>
okay so this worked (I feel stupid) text: < ?php echo json_encode($title);? >,
text: < ?php echo json_encode($title);? >,
New problem.. I want to change the title of the chart with PHP (set a variable as the title) but then my chart isn’t displayed anymore. How can I use php in the title?
I tried text: < ? php $title ? > and text:< ? php echo $title; ? >
text: < ? php $title ? >
text:< ? php echo $title; ? >
(without the unnecessary spaces obviously, it won’t let me post the code here otherwise)
okay nevermind, I managed to loop it correctly. Chart looks good now! Thank you so much for your help!
Thank you!!
I’m sorry I’m asking so much.. now I want to add more column pairs. I tried to make a multidimensional array but it doesn’t work.
Could you take a look at the project again? https://drive.google.com/open?id=18kKteS7UA9l-ruLJYA5HcOlYKJbkei0A
Thank you so much, it works!
Now I just want to add labels to the graph. Could you tell me how I can do this? This doesn’t work:
@sashiranjan
Do you still want to help me? Would really appreciate it
@Sashi Ranjan
I created a sample project :) https://drive.google.com/drive/folders/18kKteS7UA9l-ruLJYA5HcOlYKJbkei0A?usp=sharing
I appreciate your help!
Been trying something like this:
foreach ($link->query('Select AVG(PD1), AVG(PD2) from table') as $row) { $PD1 = $row['AVG(PD1)']; $PD2 = $row['AVG(PD2)']; array_push($dataPoints,"$PD1","$PD2"); array_push($dataPoints2, array("y"=> $dataPoints)); };
but it doesn’t work