캔버스로 애니메이션 막대 그래프를 만드는 방법은 무엇입니까?

나의

http://www.chartjs.org/ 에서 내가하려는 작업의 예를 참조 하십시오 . 항상 막대 그래프가 움직이는 헤더를 복제하려고합니다. 나는 거기에 일하기 위해 노력했지만 작동하지 않는 것 같습니다. 나는 그들이 가지고 있음을 알 수 있습니다

<div class="aspect-ratio">
        <canvas width='1200' height='480' id="hero-bar"></canvas>
        <header>
        </header>
</div>

그리고 이것이 작동하게 만든 js라고 생각했습니다.

<script type="text/javascript">
(function(){
var data = [],
    barsCount = 50,
    labels = new Array(barsCount),
    updateDelayMax = 500,
    $id = function(id){
        return document.getElementById(id);
    },
    random = function(max){ return Math.round(Math.random()*100)},
    helpers = Chart.helpers;


Chart.defaults.global.responsive = true;


for (var i = barsCount - 1; i >= 0; i--) {
    data.push(Math.round(Math.random() * 100));
};
new Chart($id('hero-bar').getContext('2d')).Bar({
    labels : labels,
    datasets : [{
        fillColor : '#2B303B',
        data : data
    }]
},{
    showScale : false,
    barShowStroke : false,
    barValueSpacing: 1,
    showTooltips : false,
    onAnimationComplete : function(){
        // Get scope of the hero chart during updates
        var heroChart = this,
            timeout;
        // Stop this running every time the update is fired
        this.options.onAnimationComplete = randomUpdate;

        this.options.animationEasing = 'easeOutQuint';

        randomUpdate();

        function randomUpdate(){
            heroChart.stop();
            clearTimeout(timeout);
            // Get a random bar
            timeout = setTimeout(function(){
                var randomNumberOfBars = Math.floor(Math.random() * barsCount),
                    i;
                for (i = randomNumberOfBars - 1; i >= 0; i--) {
                    heroChart.datasets[0].bars[Math.floor(Math.random() * barsCount)].value = Math.round(Math.random() * 100);
                };
                heroChart.update();
            },Math.random() * updateDelayMax);
        };
    }
});
 }); 
    </script>

이 작업을 수행하는 방법에 대한 아이디어가 있습니까?

상표

ChartJS.org에서 무작위로 변경되는 Hero의 작동 버전입니다.

var data = [],
    barsCount = 50,
    labels = new Array(barsCount),
    updateDelayMax = 500,
    $id = function(id){
      return document.getElementById(id);
    },
    random = function(max){ return Math.round(Math.random()*100)},
    helpers = Chart.helpers;


Chart.defaults.global.responsive = true;


for (var i = barsCount - 1; i >= 0; i--) {
  data.push(Math.round(Math.random() * 100));
};
new Chart($id('hero-bar').getContext('2d')).Bar({
  labels : labels,
  datasets : [{
    fillColor : '#2B303B',
    data : data
  }]
},{
  showScale : false,
  barShowStroke : false,
  barValueSpacing: 1,
  showTooltips : false,
  onAnimationComplete : function(){
    // Get scope of the hero chart during updates
    var heroChart = this,
        timeout;
    // Stop this running every time the update is fired
    this.options.onAnimationComplete = randomUpdate;

    this.options.animationEasing = 'easeOutQuint';

    randomUpdate();

    function randomUpdate(){
      heroChart.stop();
      clearTimeout(timeout);
      // Get a random bar
      timeout = setTimeout(function(){
        var randomNumberOfBars = Math.floor(Math.random() * barsCount),
            i;
        for (i = randomNumberOfBars - 1; i >= 0; i--) {
          heroChart.datasets[0].bars[Math.floor(Math.random() * barsCount)].value = Math.round(Math.random() * 100);
        };
        heroChart.update();
      },Math.random() * updateDelayMax);
    };
  }
});
body{ background-color: ivory; }
#canvas{border:1px solid red;}
.aspect-ratio{background-color:#232830}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.min.js"></script>
<div class="aspect-ratio">
  <canvas width='1200' height='480' id="hero-bar"></canvas>
  <header></header>
</div>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

캔버스로 애니메이션 모양의 끝없는 루프를 만드는 방법은 무엇입니까?

분류에서Dev

세로 막 대형 그래프 차트에서 백분율을 만드는 방법은 무엇입니까?

분류에서Dev

플롯으로 막대 차트를 만드는 방법은 무엇입니까?

분류에서Dev

막대 그래프를 그룹화, 집계 및 플로팅하는 방법은 무엇입니까?

분류에서Dev

캔버스의 크기를 프로그래밍 방식으로 변경하는 방법은 무엇입니까?

분류에서Dev

다음 막대 그래프를 그리는 방법은 무엇입니까?

분류에서Dev

Highcharts 반짝이는 R 막대 그래프를 클릭하여 테이블을 하위 집합으로 만드는 방법은 무엇입니까?

분류에서Dev

R : 다중 열 빈도 데이터에서 막대 그래프를 만드는 방법은 무엇입니까?

분류에서Dev

matplotlib ArtistAnimation으로 히스토그램 또는 막대 애니메이션을 그리는 방법은 무엇입니까?

분류에서Dev

애니메이션 중 캔버스 크기를 조정하는 방법은 무엇입니까?

분류에서Dev

막대 그래프의 하한 오차를 0으로 제한하는 방법은 무엇입니까?

분류에서Dev

막대 그래프를 R에서 정규 분포로 정규화하는 방법은 무엇입니까?

분류에서Dev

이 스크립트를 애니메이션으로 만드는 방법은 무엇입니까?

분류에서Dev

애니메이션 루프를 지속적으로 만드는 방법은 무엇입니까?

분류에서Dev

R 코드에서 막대 그래프에 SE 막대를 추가하는 방법은 무엇입니까?

분류에서Dev

geom_contour_filled로 이산 그라디언트 색상 막대를 만드는 방법은 무엇입니까?

분류에서Dev

Discord Python 봇에서 캔버스 프로필 카드를 만드는 방법은 무엇입니까?

분류에서Dev

scrollview 애니메이션에 대해 뷰 스크롤을 만드는 방법은 무엇입니까?

분류에서Dev

D3에서 마우스 오버시 막대를 더 크게 만드는 방법은 무엇입니까?

분류에서Dev

js 및 css를 사용하여 애니메이션 blob 버튼을 만드는 방법은 무엇입니까?

분류에서Dev

수평 누적 막대 그래프를 그리기 위해 데이터를로드하고 변환하는 방법은 무엇입니까?

분류에서Dev

여러 HTML5 캔버스 개체를 차례로 애니메이션하는 방법은 무엇입니까?

분류에서Dev

검색 상자 결과를 Bootstrap의 스크롤 막대로 만드는 방법은 무엇입니까?

분류에서Dev

Excel에서 데이터 요소로 막대 차트를 만드는 방법은 무엇입니까?

분류에서Dev

Jetpack Compose로 애니메이션을 만드는 방법은 무엇입니까?

분류에서Dev

CSS 스프라이트 애니메이션에서 마지막 몇 프레임의 속도를 늦추는 방법은 무엇입니까?

분류에서Dev

Jquery의 addClass 아래로 슬라이드를 애니메이션하는 방법은 무엇입니까?

분류에서Dev

여러 열을 그룹화하고 막대 그래프를 그리는 방법은 무엇입니까?

분류에서Dev

수평 Seaborn 막대 그래프에 텍스트에 주석을 추가하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    캔버스로 애니메이션 모양의 끝없는 루프를 만드는 방법은 무엇입니까?

  2. 2

    세로 막 대형 그래프 차트에서 백분율을 만드는 방법은 무엇입니까?

  3. 3

    플롯으로 막대 차트를 만드는 방법은 무엇입니까?

  4. 4

    막대 그래프를 그룹화, 집계 및 플로팅하는 방법은 무엇입니까?

  5. 5

    캔버스의 크기를 프로그래밍 방식으로 변경하는 방법은 무엇입니까?

  6. 6

    다음 막대 그래프를 그리는 방법은 무엇입니까?

  7. 7

    Highcharts 반짝이는 R 막대 그래프를 클릭하여 테이블을 하위 집합으로 만드는 방법은 무엇입니까?

  8. 8

    R : 다중 열 빈도 데이터에서 막대 그래프를 만드는 방법은 무엇입니까?

  9. 9

    matplotlib ArtistAnimation으로 히스토그램 또는 막대 애니메이션을 그리는 방법은 무엇입니까?

  10. 10

    애니메이션 중 캔버스 크기를 조정하는 방법은 무엇입니까?

  11. 11

    막대 그래프의 하한 오차를 0으로 제한하는 방법은 무엇입니까?

  12. 12

    막대 그래프를 R에서 정규 분포로 정규화하는 방법은 무엇입니까?

  13. 13

    이 스크립트를 애니메이션으로 만드는 방법은 무엇입니까?

  14. 14

    애니메이션 루프를 지속적으로 만드는 방법은 무엇입니까?

  15. 15

    R 코드에서 막대 그래프에 SE 막대를 추가하는 방법은 무엇입니까?

  16. 16

    geom_contour_filled로 이산 그라디언트 색상 막대를 만드는 방법은 무엇입니까?

  17. 17

    Discord Python 봇에서 캔버스 프로필 카드를 만드는 방법은 무엇입니까?

  18. 18

    scrollview 애니메이션에 대해 뷰 스크롤을 만드는 방법은 무엇입니까?

  19. 19

    D3에서 마우스 오버시 막대를 더 크게 만드는 방법은 무엇입니까?

  20. 20

    js 및 css를 사용하여 애니메이션 blob 버튼을 만드는 방법은 무엇입니까?

  21. 21

    수평 누적 막대 그래프를 그리기 위해 데이터를로드하고 변환하는 방법은 무엇입니까?

  22. 22

    여러 HTML5 캔버스 개체를 차례로 애니메이션하는 방법은 무엇입니까?

  23. 23

    검색 상자 결과를 Bootstrap의 스크롤 막대로 만드는 방법은 무엇입니까?

  24. 24

    Excel에서 데이터 요소로 막대 차트를 만드는 방법은 무엇입니까?

  25. 25

    Jetpack Compose로 애니메이션을 만드는 방법은 무엇입니까?

  26. 26

    CSS 스프라이트 애니메이션에서 마지막 몇 프레임의 속도를 늦추는 방법은 무엇입니까?

  27. 27

    Jquery의 addClass 아래로 슬라이드를 애니메이션하는 방법은 무엇입니까?

  28. 28

    여러 열을 그룹화하고 막대 그래프를 그리는 방법은 무엇입니까?

  29. 29

    수평 Seaborn 막대 그래프에 텍스트에 주석을 추가하는 방법은 무엇입니까?

뜨겁다태그

보관