#chart.js
Вопрос:
Я хотел бы увеличить размер следующих элементов. Не могли бы вы отредактировать приведенный ниже код, чтобы увеличить эти элементы:
- размер текста этикетки (поля NaCl и SalinityDrift над диаграммой)
- сами числа в осях x,y,y2
Скрипт:
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.30.1/date_fns.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/chartjs-adapter-date-fns/dist/chartjs-adapter-date-fns.bundle.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/hammer.js/2.0.8/hammer.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-zoom/1.1.1/chartjs-plugin-zoom.min.js"></script> <canvas id="myChart"></canvas> <script type="text/javascript"> $("#myChart").width( $(window).width() *0.97 ); $("#myChart").height( $(window).height() * 0.8 ); var ctx = document.getElementById('myChart').getContext('2d'); const options = { type: 'line', data: { datasets: [ { label: 'NaCl', data: natriumChrolideData, borderColor: 'blue', yAxisID: 'y', }, { label: 'Salinity drift', data: salinityDriftData, borderColor: 'red', yAxisID: 'y2', }, ] }, options: { parsing: false, normalized: true, animation: false, responsive: false, scales: { x: { type: 'time', title: { display: true, text: 'Time (client time zone)', font: { size: 24 } }, }, y: { title: { display: true, text: 'NaCl storage, kg', font: { size: 24 } } }, y2: { title: { display: true, text: 'Salinity drift, %', font: { size: 24 }, ticks: { min: 0, }, } }, }, plugins: { zoom: { pan: { enabled: true, onPanStart({chart, point}) { // alert("pan works!"); }, mode: 'x', }, zoom: { wheel: { enabled: true, }, pinch: { enabled: true }, mode: 'x', } } }, } } new Chart(ctx, options); </script>
Примечание: Я нашел некоторые решения для использования fontSize
или tick.font
или tick.fontSize
, но либо я реализовал их неправильно, либо они по какой-то причине не работают.
Ответ №1:
Вы помещаете ticks
конфигурацию в заголовок шкалы, в то время как она должна находиться в корне самой шкалы. Также для полей размер шрифта сверху вам нужно настроить его в options.plugins.legend.labels
пространстве имен.
Живой пример:
var options = { type: 'line', data: { labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"], datasets: [{ label: '# of Votes', data: [12, 19, 3, 5, 2, 3], borderWidth: 1 }, { label: '# of Points', data: [7, 11, 5, 8, 3, 7], borderWidth: 1 } ] }, options: { plugins: { legend: { labels: { font: { size: 20 } } } }, scales: { x: { ticks: { font: { size: 20 } } }, y: { ticks: { font: { size: 20 } } } } } } var ctx = document.getElementById('chartJSContainer').getContext('2d'); new Chart(ctx, options);
<body> <canvas id="chartJSContainer" width="600" height="400"></canvas> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.js"></script> </body>