Skip to content

CHICPRO

  • Life Log
  • Cycling Log
  • Photo Log
    • Portrait
    • Landscape
    • Flower
    • Etc
  • Coding Log
  • Information

IE11 에서 Chart.js 그래프 표시 오류 수정

2020-11-13 by 편리

관리자 페이지 개발 중 방문자 수를 표시할 그래프를 위해 Chart.js를 사용했다. 크롬브라우저에서는 이상없이 표시가 되는데 IE11 에서는.. Chart.js는 IE9부터 지원하는데.. 아래 이미지처럼 요상하게 표시가 돼서 구글링을 통해 문제를 해결했다. 물론 이 해결책이 완전한 것은 아니며 상황에 따라서는 적용되지 않을 수도 있다.

실제로 원하는 그래프의 모습은 아래와 같다.

IE11 에서 width 와 height 값을 제대로 잡지 못해서 발생하는 문제였는데 이걸 해결하기 위해 Chart.js 옵션에 maintainAspectRatio: false 설정을 추가했고 추가적인 css 코드를 적용했다.

<script>
var options = {
        responsive: true,
        maintainAspectRatio: false,
        hoverMode: 'index',
		stacked: false,
        scales: {
            yAxes: [
                {
                    type: 'linear',
                    ticks: {
                        beginAtZero: true
                    }
                }
            ]
        }
    };

var ctx = document.getElementById("visitChart");
var visitChart = new Chart(ctx, {
    type: 'line',
    data: {
        labels: ["<?php echo implode('", "', array_keys($counts)); ?>"],
        datasets: [
            {
                label: "방문자",
                fill: false,
                data: [<?php echo implode(',', $counts); ?>],
                lineTension: 0,
                backgroundColor: 'transparent',
                borderWidth: 2,
                borderColor: '#30d185',
                pointBackgroundColor: '#30d185',
                backgroundColor: '#30d185'
            }
        ]
    },
    options: options
});
</script>

위 코드는 Chart.js 를 실행하는 스크립트 코드로 maintainAspectRatio: false 설정을 어떻게 추가했는지 예시를 위해 작성한 코드이다. 그리고 추가한 css 코드와 그래프가 표시될 부분의 html 일부 코드는 아래와 같다.

<div class="chart-wrap mt-2">
    <canvas id="visitChart"></canvas>
</div>
.chart-wrap {width:100%; height:300px;}

Post navigation

Previous Post:

[PHP] Spout을 이용한 엑셀 파일 데이터 읽기

Next Post:

맥북에 Big Sur 설치

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Recent Posts

  • php 배열 연산에서 + 와 array_merge 의 차이
  • pcntl_fork 를 이용한 다중 프로세스 실행
  • 아이폰 단축어를 이용하여 주중 공휴일엔 알람 울리지 않게 하기
  • 구글 캘린더 전체일정 재동기화
  • OpenLiteSpeed 웹서버에 HTTP 인증 적용
  • OpenLiteSpeed 웹어드민 도메인 연결
  • WireGuard를 이용한 VPN 환경 구축
  • Ubuntu 22.04 서버에 OpenLiteSpeed 웹서버 세팅
  • 맥 vim 세팅
  • 우분투 시스템 터미널쉘 zsh 로 변경

Recent Comments

  • 편리 on 업무관리용 그누보드 게시판 스킨
  • 임종섭 on 업무관리용 그누보드 게시판 스킨
  • 캐논 5D 펌웨어 | Dslr 펌웨어 업그레이드 방법 82 개의 베스트 답변 on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • Top 5 캐논 5D 펌웨어 Top 89 Best Answers on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • 편리 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 임팀장 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 편리 on Notepad++ NppFTP 플러그인 수동 설치
  • paul-j on Notepad++ NppFTP 플러그인 수동 설치
  • YS on Windows 10 iCloud 사진 저장 폴더 변경
  • 편리 on Docker를 이용한 Centos7 + httpd + php 5.4 개발환경 구축

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
© 2025 CHICPRO | Built using WordPress and SuperbThemes