Rumah  >  Artikel  >  hujung hadapan web  >  Cara menggunakan kesan animasi carta dalam Highcharts

Cara menggunakan kesan animasi carta dalam Highcharts

PHPz
PHPzasal
2023-12-17 08:11:17940semak imbas

Cara menggunakan kesan animasi carta dalam Highcharts

Highcharts ialah perpustakaan carta JavaScript yang berkuasa yang menyediakan banyak jenis carta dan pilihan penyesuaian. Ia juga mempunyai kesan animasi yang mudah digunakan yang menjadikan visualisasi data lebih jelas. Dalam artikel ini, kita akan belajar cara menggunakan kesan animasi carta dalam Highcharts dan menunjukkan beberapa contoh kod khusus.

  1. Fahami API animasi Highcharts
    Terdapat banyak API animasi berbeza yang disediakan dalam Highcharts, termasuk menetapkan kesan animasi secara langsung dalam pilihan, menggunakan animasi terbina dalam Highcharts, animasi tersuai dan tetapan animasi menggunakan pilihan global. API ini boleh dikaji secara mendalam melalui dokumentasi Highcharts Di bawah kami akan menggunakan contoh mudah untuk menunjukkan cara menggunakan kesan animasi dalam Highcharts.
  2. Tetapkan kesan animasi carta
    Dalam Highcharts, kita boleh membuat carta bergerak dengan menetapkan kesan animasi dalam pilihan. Berikut ialah kod untuk contoh bar kemajuan bulat:
Highcharts.chart('container', {
  chart: {
    type: 'pie',
    animation: true, // 开启动画
  },
  title: {
    text: '圆形进度条',
  },
  plotOptions: {
    pie: {
      dataLabels: {
        enabled: false,
      },
      startAngle: -90,
      endAngle: 90,
      center: ['50%', '75%'],
      size: '150%',
      colors: ['#64E572', '#FFFF00', '#FD6666'],
    },
  },
});

Dalam kod di atas, kami menetapkan animasi kepada benar dalam pilihan carta, yang bermaksud menghidupkan kesan animasi. Seterusnya, kami akan menyesuaikan data dan mengikatnya pada carta.

  1. Animasi tersuai
    Selain menetapkan kesan animasi dalam pilihan, kami juga boleh menggunakan animasi tersuai. Animasi tersuai dalam Highcharts dikawal oleh sifat options.animation. Berikut ialah contoh animasi yang dilaksanakan oleh laluan SVG:
// 创建SVG路径动画效果
var chart = Highcharts.chart('container', {
    chart: {
        type: 'spline',
        animation: {
            //动画时长
            duration: 2000,
            //定义一个缓动函数
            easing: 'easeOutBounce'
        }
    },
    title: {
        text: '数据展示'
    },
    xAxis: {
        categories: ['1月', '2月', '3月', '4月', '5月', '6月',
            '7月', '8月', '9月', '10月', '11月', '12月']
    },
    yAxis: {
        title: {
            text: '人数'
        }
    },
    series: [{
        name: '男',
        data: [7.0, 6.9, 9.5, 14.5, 18.4, 21.5, 24.2, 23.3, 18.3, 13.9, 9.6]
    }, {
        name: '女',
        data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6]
    }]
});

//实现SVG路径动画
var path = chart.series[0].graph.element.getAttribute('d');
var pathLength = chart.series[0].graph.element.getTotalLength();
//设置dashStyle为ShortDash可以让线条更明显的显示出来
chart.series[0].update({
    animation: {
        duration: 2000,
        easing: 'easeOutBounce'
    },
    dashStyle: 'ShortDash',
    lineWidth: 2,
    marker: {
        enabled: false,
        radius: 4,
        symbol: 'square'
    },
    dataLabels: {
        enabled: false
    }
});

Dalam contoh ini, kami mencipta kesan animasi yang dilaksanakan oleh laluan SVG. Melalui sifat options.animation.duration dan options.animation.easing, anda boleh menetapkan tempoh animasi dan fungsi easing masing-masing. Seterusnya, kami mengikat data pada carta melalui sifat options.series dan melaksanakan animasi laluan SVG.

Ringkasan
Carta tinggi menyediakan pelbagai kesan animasi Kami boleh menetapkan dan menyesuaikan kesan animasi melalui kod ringkas untuk menjadikan carta lebih jelas. Dalam paparan data sebenar, penggunaan kesan animasi yang munasabah boleh membantu kami menyatakan data dengan lebih baik dan membangkitkan minat penonton.

Atas ialah kandungan terperinci Cara menggunakan kesan animasi carta dalam Highcharts. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn