Я пытаюсь со вчерашнего дня создать диаграмму с использованием Canvasjs, но когда страница загружена, диаграмма не соответствует ее контейнеру, пока я не изменю размер браузера. Я думаю, что проблема может быть в порядке различных файлов javascript, которые я использую, но я пробовал разными способами без успеха.Диаграмма CanvasJs не соответствует его контейнеру до изменения браузера
Вот файл AppAsset:
public $css = [
'css/bootstrap.css',
'css/site.css',
'highlightJs/styles/magula.css',
'sweetAlert/sweetalert.css',
'chart/jquery-ui.min.css',
];
public $js = [
'highlightJs/highlight.pack.js',
'js/main.js',
'redactorPlugins/imagelink.js',
'sweetAlert/sweetalert.min.js',
'chart/jquery.canvasjs.min.js',
'chart/jquery-ui.min.js',
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
// render all the Javascripts files in the head of the page
public $jsOptions = [
'position' => \yii\web\View::POS_HEAD
];
Вот как я сделать диаграмму:
<script type="text/javascript">
$(function() {
//Better to construct options first and then pass it as a parameter
var options1 = {
title: {
text: "Your Profile's view of last week"
},
animationEnabled: true,
data: [
{
type: "spline",
dataPoints: [
{ label: "Monday", y: <?php echo $dataStatistics['viewProfileMondayLastWeek']; ?> },
{ label: "Tuesday", y: <?php echo $dataStatistics['viewProfileTuesdayLastWeek']; ?> },
{ label: "Wednesday", y: <?php echo $dataStatistics['viewProfileWednesdayLastWeek']; ?> },
{ label: "Thursday", y: <?php echo $dataStatistics['viewProfileThursdayLastWeek']; ?> },
{ label: "Friday", y: <?php echo $dataStatistics['viewProfileFridayLastWeek']; ?> },
{ label: "Saturday", y: <?php echo $dataStatistics['viewProfileSaturdayLastWeek']; ?> },
{ label: "Sunday", y: <?php echo $dataStatistics['viewProfileSundayLastWeek']; ?> }
]
}
],
axisX: {
labelFontSize: 16
},
axisY: {
labelFontSize: 16
}
};
$("#tabs").tabs({
create: function (event, ui) {
//Render Charts after tabs have been created.
$("#chartContainer1").CanvasJSChart(options1);
},
//**** I don t understand why this is not called during the page loading *****//
activate: function (event, ui) {
//Updates the chart to its container's size if it has changed.
ui.newPanel.children().first().CanvasJSChart().render();
}
});
});
</script>
<div id="tabs" style="height: 315px">
<ul>
<li ><a href="#tabs-1" style="font-size: 12px">Last Week</a></li>
</ul>
<div id="tabs-1" style="height: 240px">
<div id="chartContainer1" style="height: 240px; width: 100%;"></div>
</div>
</div>
Здесь также порядок как JavaScript файлы называются: