1. 在Blazor中使用Chart.js

  1. 首先,从Chart.js官方网站下载Chart.js库文件。

    推荐下载这个构建好的版本https://cdnjs.com/libraries/Chart.js,最新版是v4.2.1

  2. 在Blazor项目中把刚刚下载好的Chart.js放到wwwroot目录下。

  3. 将下载的Chart.js文件复制到该文件夹中。

  4. 在Blazor项目中的Pages文件夹下_Host.cshtml文件中添加以下代码:

    <script src="_framework/blazor.webassembly.js"></script>
    <-- 添加下面这句 -->
    <script src="~/Chart.js"></script>
  5. 在Blazor组件中使用Chart.js,需要在组件中添加以下代码:

    注意!这个canvas标签的id非常重要!后面调用js的时候要用到它!

    在组件顶部添加一行代码,注入JSRuntime

     @page "/"
    @inject IJSRuntime JS <PageTitle>BlazorWithChartJS</PageTitle>
    <p>
    <h2>
    在Blazor中使用
    <code><strong>JavaScript</strong></code>
    调用
    <code><strong>Chart.JS</strong></code>
    绘制曲线图
    </h2>
    </p> <div class="chart">
    <canvas id="AnimationsChart"></canvas>
    </div>
  6. Index组件的@code代码块中,添加以下C#代码:

        protected override async Task OnAfterRenderAsync(bool firstRender)
    {
    if (firstRender)
    {
    var jsmodule = $"./Pages/Index.razor.js";
    var jSObject = await JS.InvokeAsync<IJSObjectReference>("import", jsmodule);
    await jSObject.InvokeVoidAsync("animationsChart");
    }
    await base.OnAfterRenderAsync(firstRender);
    }
  7. 接下来我们在组件所在目录下创建一个当前组件隔离的js文件Index.razor.js,在组件的代码块中,添加以下JavaScript代码:

    export function animationsChart() {
    const ctx = document.getElementById('AnimationsChart'); const data = {
    labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
    datasets: [{
    label: 'Looping tension',
    data: [65, 59, 80, 81, 26, 55, 40],
    fill: false,
    borderColor: 'rgb(75, 192, 192)',
    }]
    }; const config = {
    type: 'line',
    data: data,
    options: {
    animations: {
    tension: {
    duration: 1000,
    easing: 'linear',
    from: 1,
    to: 0,
    loop: true
    }
    },
    scales: {
    y: {
    min: 0,
    max: 100
    }
    }
    }
    }; new Chart(ctx, config);
    }

    这将创建一个简单的折线图,您可以根据需要更改类型、数据和选项。

  8. 运行Blazor应用程序,您应该能够看到您的Chart.js图表!

更多图表类型等信息,请参阅Chart.js官方文档。

上面的相关代码我放在GitHub了,有需要的可以查看:https://github.com/azlis/BlazorChartJS

在Blazor中使用Chart.js的更多相关文章

  1. Ionic中使用Chart.js进行图表展示以及在iOS/Android中的性能差异

    Angular Chart 简介 在之前的文章中介绍了使用 Ionic 开发跨平台(iOS & Android)应用中遇到的一些问题的解决方案. 在更新0.1.3版本的过程中遇到了需要使用图表 ...

  2. vue中使用chart.js

    1,安装chart.js和vue-chart.js npm install chart.js --save npm install vue-chart.js --save 2,独立文件,方便修改 封装 ...

  3. Blazor和Vue对比学习(知识点杂锦3.04):Blazor中C#和JS互操作(超长文)

    C#和JS互操作的基本语法是比较简单的,但小知识点特别多,同时,受应用加载顺序.组件生命周期以及参数类型的影响,会有比较多坑,需要耐心的学习.在C#中调用JS的场景会比较多,特别是在WASM模式下,由 ...

  4. angulajs中引用chart.js做报表,修改线条样式

    目前还有个问题,在手机上看,当折线y轴值超过1000,会有点问题 1.下载chart js,可以用bower 命令下载 http://www.chartjs.org/docs/#line-chart- ...

  5. chart.js使用常见问题

    Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 在使用过程中新手可能会遇到很多问题导致图标无法显示.下面我们来看一下在使用过程中可能会遇到的问题. 刚开始用chart.j ...

  6. [转]Chart.js入门教程

    Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 相信大部分人都一样,看到一大筐用文本或者表格形式呈现的数据就头疼.因为这种呈现方式也太无聊了吧...而且这对于我们处理原始 ...

  7. Chart.js入门教程

    Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 相信大部分人都一样,看到一大筐用文本或者表格形式呈现的数据就头疼.因为这种呈现方式也太无聊了吧...而且这对于我们处理原始 ...

  8. Chart.js docs

    原文链接:http://www.bootcss.com/p/chart.js/docs/ 引入Chart.js文件 首先我们需要在页面中引入Chart.js文件.此工具库在全局命名空间中定义了Char ...

  9. Chart.js中文文档-雷达图

    雷达图或蛛网图(Radar chart) 简介 A radar chart is a way of showing multiple data points and the variation bet ...

  10. chart.js在html中画曲线图

    http://www.bootcss.com/p/chart.js/docs/ http://www.chartjs.org/docs/   中有详细讲解 一.简介 Chart.js是一个基于HTML ...

随机推荐

  1. 【UE4】GameplayTag的妙用(ActorTag)

    我不会抛下这个残破的世界 在现代游戏引擎中,有一个"Tag"的概念,无论是在Unreal还是Unity中,他们都有大同小异的tag实现. 此篇随笔以Actor Tag举例,简单讲解 ...

  2. CvT: Introducing Convolutions to Vision Transformers-首次将Transformer应用于分类任务

    CvT: Introducing Convolutions to Vision Transformers Paper:https://arxiv.org/pdf/2103.15808.pdf Code ...

  3. 基于CMMI的软件工程及实训指导 第一章

    第一章 软件工程基础 1. 软件工程概述 1.1 软件工程概念 软件工程是从管理和技术两方面来研究如何采用工程的概念.原理和技术方面并加以综合,指导开发人员更好地开发和维护计算机软件的一门新学科. 1 ...

  4. IDEA Maven 项目报错 java: 程序包org.springframework.beans.factory.annotation不存在

    idea 刚把项目导进去的时候,点击运行,import的好多包都报红,所有的文件的Maven依赖包都没导入进去. 但只是第一个报错是: java: 程序包org.springframework.bea ...

  5. swagger 兼容 docker 转发 配置

    app.UseSwagger(c => { c.PreSerializeFilters.Add((swagger, httpReq) => { string swagger_index_u ...

  6. 4.3Dsmax捕捉工具

    平面视图: Line 线 多用于平面视图(按住shift可创建水平或垂直的线) Cirde 圆 Arc 弧形 NGon 多边形 Text 文本 输入中文会出现方框,换一下字体即可 Egg 鹅卵形 re ...

  7. 观察APP运行日志

    一.Android采用log工具打印日志,他将各类日志分为五个等级 1.log.e:表示错误信息,比如可能导致程序崩溃的异常 2.log.w:表示警告信息 3.log.i:表示一般信息 4.log.d ...

  8. webgl 系列 —— 变换矩阵和动画

    其他章节请看: webgl 系列 变换矩阵和动画 动画就是不停地将某个东西变换(transform).例如将三角形不停地旋转就是一个动画 和 CSS transform 类似,变换有三种形式:平移.缩 ...

  9. AI智能问答助手 AI智能批量文章生成器 网站优化SEO批量内容生成工具 原创文章生成软件

    <AI智能问答助手>   软件基于当下热门的OpenAI的ChatGPT技术,导入问题列表就可以批量生成对应的内容,内容质量高.原创度高.适合对内容生成需求量大的场景,如网站优化.广告文案 ...

  10. Android studio的基本使用--基础篇

    一.新建项目 其实跟IDEA新建项目的流程基本一致,File->New->New project,这样就能够新建出来一个项目啦! 一般情况下,我们都会选择Empty Activity,之后 ...