当前位置:首页 > 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>

柱状图实现示例

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>

简单饼图实现

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);
}

响应式图表实现

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

js实现图表展示实现

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

window.addEventListener('resize', resizeChart);

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

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

相关文章

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js画图实现

js画图实现

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

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…