当前位置:首页 > JavaScript

js实现图表展示实现

2026-02-01 09:23:01JavaScript

使用 Chart.js 实现图表展示

Chart.js 是一个流行的开源 JavaScript 库,用于在网页上绘制各种类型的图表。它支持多种图表类型,包括折线图、柱状图、饼图、雷达图等。

安装 Chart.js

<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

基本折线图实现

const ctx = document.getElementById('myChart').getContext('2d');
const myChart = new Chart(ctx, {
    type: 'line',
    data: {
        labels: ['January', 'February', 'March', 'April', 'May'],
        datasets: [{
            label: 'Sales 2023',
            data: [65, 59, 80, 81, 56],
            backgroundColor: 'rgba(75, 192, 192, 0.2)',
            borderColor: 'rgba(75, 192, 192, 1)',
            borderWidth: 1
        }]
    },
    options: {
        scales: {
            y: {
                beginAtZero: true
            }
        }
    }
});

使用 ECharts 实现高级图表

ECharts 是百度开发的强大图表库,支持更多复杂图表类型和交互功能。

安装 ECharts

<script src="https://cdn.jsdelivr.net/npm/echarts@5.4.3/dist/echarts.min.js"></script>

柱状图实现示例

js实现图表展示实现

const chartDom = document.getElementById('main');
const myChart = echarts.init(chartDom);
const option = {
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: [120, 200, 150, 80, 70, 110, 130],
        type: 'bar'
    }]
};
myChart.setOption(option);

使用 D3.js 实现数据可视化

D3.js 是一个更底层的可视化库,适合需要高度定制化的场景。

安装 D3.js

<script src="https://d3js.org/d3.v7.min.js"></script>

简单饼图实现

js实现图表展示实现

const data = [10, 20, 30, 40];
const width = 450;
const height = 450;
const radius = Math.min(width, height) / 2;

const color = d3.scaleOrdinal()
    .domain(data)
    .range(d3.schemeCategory10);

const svg = d3.select('#chart')
    .append('svg')
    .attr('width', width)
    .attr('height', height)
    .append('g')
    .attr('transform', `translate(${width/2},${height/2})`);

const pie = d3.pie()
    .value(d => d);

const arc = d3.arc()
    .innerRadius(0)
    .outerRadius(radius);

const arcs = svg.selectAll('arc')
    .data(pie(data))
    .enter()
    .append('g');

arcs.append('path')
    .attr('d', arc)
    .attr('fill', (d, i) => color(i));

使用 Google Charts 实现快速图表

Google Charts 提供简单易用的 API 和丰富的图表类型。

加载 Google Charts 库

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

饼图示例

google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);

function drawChart() {
    const data = google.visualization.arrayToDataTable([
        ['Task', 'Hours per Day'],
        ['Work', 8],
        ['Eat', 2],
        ['TV', 4],
        ['Sleep', 10]
    ]);

    const options = {
        title: 'My Daily Activities'
    };

    const chart = new google.visualization.PieChart(document.getElementById('piechart'));
    chart.draw(data, options);
}

响应式图表实现

为了使图表在不同屏幕尺寸下都能正常显示,需要添加响应式处理:

function resizeChart() {
    myChart.resize();
}

window.addEventListener('resize', resizeChart);

以上方法提供了不同复杂度和功能的图表实现方案,可以根据项目需求选择合适的库。Chart.js 适合简单快速的图表需求,ECharts 适合需要丰富交互的场景,D3.js 适合高度定制化的可视化,而 Google Charts 则提供了最简单易用的 API。

标签: 图表js
分享给朋友:

相关文章

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…