js chart

 

          在web开发中,经常会遇到需要作图展示的地方,常用的技术是jfreechart,她在服务器端生成图象,在前台展示,对于访问量巨大的网站,必然会加重服务器的负担,于是客户端绘图呼之欲出,典型的技术就是使用js。

          客户端使用js绘图主要用到一个开源的js组件wz_jsgraphics.js ,网上有人使用这个js封装了一些画线,饼图的js,我们就可以使用这些js在客户端作图了。

 

         写一个test.html (还要用到pie.js,bar.js,line.js)

<html > 
   <head>
   
   <title> TEST </title> 
   <script  type ="text/javascript"  src ="wz_jsgraphics.js"></script> 
   <script  type ="text/javascript"  src ="pie.js"></script> 
   <script  type ="text/javascript"  src ="bar.js"></script> 
   <script  type ="text/javascript"  src ="line.js"></script> 
  </head>
   <body > 
   <p>1.饼图</p> 
  <div  id ="PieDiv"  style ="position:relative;height:200px;width:300px;"></div> 
   <script  language ="javascript">  
      var  y =   new  Array ();
      y[0]  =   20000 ;
      y[1]  =   20000 ;
      y[2]  =   20000 ;
  
      var  x  =   new  Array ();
     x[0]  =   " a " ;
     x[1]  =   " b " ;
     x[2]  =   " c " ;
  
      var mypie =new  Pie( "PieDiv" );
     mypie.drawPie(y,x);
      // mypie.clearPie(); 
  </script> 
  
  
  <p>2.柱图</p>
<div id="BarDiv" style="position:relative;height:200px;width:500px;"></div>

<script language="javascript">
    var y= new Array ();
     y[0] = 11112;
     y[1] = 16000;
     y[2] = 20000;

    var x = new Array ();
    x[0] = "a";
    x[1] = "b";
    x[2] = "c";    
    var mybar = new Bar("BarDiv");
    mybar.drawBar(y,x);    
</script>    

<p> 3.线图 </p> 
  <div  id ="LineDiv"  style ="position:relative;height:200px;width:300px;"></div> 
	<script language ="javascript">  
      var  y =   new  Array ();
      y[0]  =   16000 ;
      y[1]  =   26000 ;
      y[2]  =   36000 ;
      y[3]  =   46000 ;
      y[4]  =   36000 ;
      y[5]  =   26000 ;
      var  x  =   new  Array ();
     x[0]  =   "12:01" ;
     x[1]  =   "12:02" ;
     x[2]  =   "12:03" ;
     x[3]  =   "12:04" ;
     x[4]  =   "12:05" ;
     x[5]  =   "12:06" ;
      var  myline  =   new  Line("LineDiv");
     myline.drawXYLine(y,x);
      // myline.clearLine(); 
  </script>         
  
     </body> 
  </html> 

 

效果:

 

 

 

Chart.js 安装使用教程 Chart.js是一款轻量灵活的JavaScript图表库,支持8种常见图表类型(折线图、柱状图、饼图等),基于HTML5 Canvas渲染。可通过CDN或npm安装快速集成,提供响应式设计和丰富的自定义配置选项,包括动画、标题、工具提示等功能。使用时需创建canvas元素并配置数据源,图表更新需调用update()方法。适用于仪表盘、数据可视化等场景,可与Vue、React等主流框架集成。常见问题包含图表显示异常、更新失效等,可通过检查DOM或调用resize()解决。官方文档和示例库提供详细学习资源。 阅读详情

相关推荐

Chart.js 入门介绍

Chart.js 是一个简单、灵活的 JavaScript 图表工具。Chart.js 是一个基于 HTML5 技术的 JavaScript 图表工具。Chart.js:使用 <canvas> 标签的实现简洁HTML5图表Chart.js 能够很简单便捷的在 Web 网站或是 Web 应用程序添加有交互性的图表Chart.js 免费提供给个人学习、个人网站和非商业用途使用。

xiaoaque的博客 1281

charts框架 横向 纵向柱状图

实现效果如下,除了基础的柱状图实现,主要增加了,x ,y 轴的自定义title,可以显示汉字而不是数值。最近一直做charts的集成,所以把心得给大家介绍一下。避免走弯路。由于网上IOS相关的demo比较少。所以比较难找的方法。应该对大家有很大的帮助,说一下实现的思路,大体如下 1.需要一个类,比如柱状图就是BarChartView,然后我们需要对这个类的数据进行操作,需要barchartData

lee727n的博客 8634

Chart.js 混合图

Chart.js 是一个简单、灵活的图表库,它使用 HTML5 Canvas 元素来绘制图表。它支持多种图表类型,包括线形图、柱状图、饼图、雷达图、极坐标图等,并且可以轻松地定制和扩展。响应式设计:图表可以自动适应容器的大小,确保在所有设备上都能良好展示。易于使用:通过简单的 JavaScript 配置,即可创建出漂亮的图表。高度可定制:提供了丰富的配置选项,可以自定义图表的各个方面,如颜色、字体、动画等。交互式:支持图表的缩放、拖动等交互操作,提高用户体验。

csbysj2020的博客 593

FusionChart实现柱状图、饼状图的动态数据显示 附Demo

    最近做的项目中需要用饼状图显示——'问卷调查'的统计结果(之前用过FusionChart做过柱状图的数据展示,那还是两年前的事了),在网上查了下FusionChart实现饼状图显示方面的资料,却发现资料都比较零散、不完整,或者说没有简洁明了的说清楚其用法,到FusionChart官网上去看,无奈是英文的,而且Deom项目太大,没有耐心去看,最后还是将以前的项目找出来,摸索着弄了下搞定,现...

weixin_33824363的博客 197

深入理解JavaScript图表库:从Chart.js到ECharts及Highcharts

Highcharts 提供了多种方式来自定义图表的主题和样式。开发者可以通过修改配置项来改变图表的颜色、字体、边框、阴影等视觉元素,从而符合品牌或设计指南的要求。此外,Highcharts 支持使用 CSS 来进一步细化样式。chart: {});// 更具体的样式定义可以通过 CSS 实现通过这种方式,开发者可以很轻松地为图表定义全局主题,也可以在图表的配置中进一步自定义特定系列的样式。

weixin_42126677的博客 1594

Chart.js动态条形图实战:JavaScript与Ajax实现数据可视化

Chart.js 是一款基于 HTML5 Canvas 的轻量级、开源 JavaScript 图表库,专为现代 Web 应用中的数据可视化设计。其模块化架构将图表的不同组件(如轴、图例、工具提示)解耦,便于按需加载与扩展。支持包括条形图、折线图、饼图等在内的多种图表类型,并通过简洁的配置对象即可实现丰富的视觉效果。data: { labels: ['A', 'B'], datasets: [{ label: '示例数据', data: [10, 20] }] },

weixin_42476987的博客 893

图表插件 - chart.js (柱状图) 学习总结

图表插件 - chart.js (柱状图) 学习总结 个人网站:http://lishangrong.github.io/2016/01/28/20160128-chartjs(bar)/

lishangr的博客 4万+

KMS服务器一键部署与激活实战指南

本文详细介绍了KMS服务器的一键部署与激活实战指南,包括快速入门、安装步骤、服务管理技巧及常见问题排查。特别针对Windows和Mac用户提供了Office激活的具体操作步骤,并分享了高级配置与优化方案,帮助IT管理员高效管理批量授权激活。

weixin_29305313的博客 461

chartjs 初步

基础概念 使用chartjs之前需要在HTML文档中定义一个画布:<canvas id="myChart" width="400" height="400"></canvas> 然后使用chartjs来控制mychart的显示 * 第一步要获得canvas的DOM:var ctx = document.getElementById("myChart").getC...

ddq58011的博客 182

AI时代,程序员何去何从?别慌,看完这篇你就明白了

AI时代程序员的发展方向 摘要:随着AI代码助手的普及,程序员行业面临变革。本文通过实际案例展示AI写代码的能力与局限:AI能生成基础功能代码(如RESTful API、数据处理脚本),但缺乏业务理解、系统设计和复杂逻辑处理能力。程序员的核心价值在于需求分析、架构设计、性能优化等高层能力。未来程序员应: 掌握AI工具提升效率 专注于创新和架构设计 培养业务理解能力 持续学习新技术 AI不会取代程序员,但会淘汰不会使用AI的程序员。建议开发者拥抱AI工具,将其作为助手而非威胁,聚焦高价值工作。

yunque_xianguang的博客 908

新手网工别慌!手把手带你搞定华为OLT开局配置(从登录到业务下发全流程)

本文为新手网络工程师提供华为OLT设备开局配置的详细指南,涵盖从设备登录、基础配置到业务部署的全流程。通过实战案例和常见问题排查,帮助读者快速掌握华为OLT配置技巧,确保业务顺利开通。

weixin_33721344的博客 483

Chart.js:基于 Canvas 的 JavaScript 图表库

Chart.js 是一个基于HTML5 Canvas的轻量级JavaScript图表库,支持折线图、柱状图、饼图等7种常见图表类型。它采用响应式设计,自动适配屏幕尺寸,提供丰富的配置选项和插件扩展机制。通过简单引入JS文件即可使用,支持CDN和npm安装,最新版本为Chart.js 4,采用MIT开源协议。该库以易用性和灵活性著称,仅需几行代码就能在canvas元素上生成交互式图表,适合开发者快速实现数据可视化需求。

danyuanceshi544的博客 202

MATLAB实战:Gardner定时同步算法实现与BER曲线优化指南

本文详细介绍了Gardner定时同步算法在MATLAB中的实现与优化方法,重点解析了算法原理、关键步骤实现及BER曲线绘制中的常见问题解决方案。通过优化参数设置和系统架构,提升数字通信系统的符号同步性能,为QPSK、QAM等调制系统提供实用参考。

weixin_29085865的博客 231

Chart.js 简介

Chart.js 是一个轻量级、响应式的 JavaScript 图表库,支持多种常见图表类型(如折线图、柱状图、饼图等),适合快速构建数据可视化界面。在 React 中可通过 react-chartjs-2 集成,需注册所需组件模块。它支持动态数据更新(结合 useState/useEffect)、高度自定义样式和交互功能,同时需注意性能优化和版本兼容性。对于简单可视化需求,Chart.js 是易上手的选择;复杂场景可考虑 ECharts 或 D3.js。

likuoelie的博客 1196

[AHK] 自动化获取通达信股票代码:从消息钩子到数据提取

本文详细介绍了如何使用AHK(AutoHotkey)通过Windows消息钩子技术自动化获取通达信股票代码,实现高效数据提取和交易自动化。文章涵盖消息机制原理、AHK脚本开发、性能优化及安全注意事项,为股票交易者提供了一套完整的解决方案。

weixin_42614269的博客 617

题解:洛谷 P14357 [CSP-J 2025] 拼数

等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。小 R 想知道,在他所有能拼成的正整数中,最大的是多少。你需要帮助小 R 求出他能拼成的正整数的最大值。小 X 给了小 R 一个字符串。输出一行一个正整数,表示小 R 能拼成的正整数的最大值。中的任意多个数字,按任意顺序拼成一个正整数。,表示小 X 给小 R 的字符串。#普及-# #其他排序#洛谷:[P14357。

团爸讲算法 1396

什么是Chart.js,有什么特点

Chart.js 是一个开源的 JavaScript 图表库,可以用于在网页上绘制各种图表。它基于 HTML5 Canvas 技术,提供了丰富的图表类型和高度可定制的选项,使得开发者可以轻松地在网页上创建交互式和动态的图表。Chart.js 由 Nick Downie 创建,目前由 Chart.js 社区维护,广泛应用于数据分析、仪表盘、报告等场景。Chart.js 是一个强大且灵活的 JavaScript 图表库,基于 HTML5 Canvas 技术,提供了丰富的图表类型和高度可定制的选项。

小赵的博客 2682

60、新型共轴直升机建模与事件触发积分强化学习研究

本文研究了新型共轴直升机的动力学建模与控制方法,基于牛顿-欧拉方程建立了6自由度非线性模型,并设计了四通道闭环控制器实现稳定飞行。同时,提出一种事件触发积分强化学习方法,用于解决非零和博弈中的最优跟踪控制问题,在减少通信开销的同时保证系统性能。通过仿真验证了控制器的轨迹跟踪能力,并证明了算法下跟踪误差与神经网络权重估计误差的一致最终有界性。两种方法协同可提升飞行器的自主性与鲁棒性,未来可拓展至多智能体协作、智能交通等复杂系统应用。

rl6adventurer的博客 118

chart折线图_JavaScript经典入门级图表组件—Chart.js

简要介绍Chart.js是我个人接触较早的一款图表组件。它在github拥有51.2k颗星,风格属于简约型的,它只支持基本的折线图、条状图、饼状图,其他图表类型涉及很少。值得令人称赞的,这个项目依旧在保持不断更新。最新版本:v2.9.4。我对它的评价是:经典入门型。Github地址https://github.com/chartjs/Chart.js安装直接去Github下载引用效果var ctx...

weixin_35172689的博客 406

共享单车数据抓取与分析:使用Python爬虫抓取共享单车使用数据与地图信息

通过本篇博客,我们展示了如何使用Python爬虫抓取共享单车的使用数据和地图信息,并通过简单的数据分析得出有价值的见解。在实际应用中,数据的收集与分析不仅能帮助城市管理者更好地规划单车站点,还能为用户提供更精准的单车使用体验。未来,我们可以将此分析与机器学习模型相结合,进一步预测单车的使用趋势,优化调度算法,实现更加智能的共享单车管理。

2201_76125261的博客 2206

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

chart.js使用学习

chart.js是用JavaScript编写的基于Canvas的开源图表库,本文主要介绍chart.js的安装及使用示例

gc_2299的博客 4686

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Chart.js 使用示例

从MySql 数据库中获取数据 ,利用chart.js 绘制柱形图。 文件结构:![这里写图片描述](http://img.blog.youkuaiyun.com/20160426120319043)1. index.php文件。从数据库获取数据。先连接数据库exercisedata,然后从数据库的users表中查询学生名字userName和学生的成绩score,并给userName和score取别名la

u013993319的博客 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

chart.js饼图 php,javascript – 如何使用chart.js脚本绘制多个饼图

如果我理解正确,逻辑是创建一个在接受的画布上绘制图表的函数.这样,你可以在你想要的每个画布上调用该函数.例如:draw(document.getElementById("canvas"));draw(document.getElementById("canvas2"));请参阅以下代码:var allData =[[{value: 300,color:"#F7464A",highlight: "#...

weixin_28872283的博客 305

【GitHub项目推荐--Chart.js:简单灵活的JavaScript图表库】

​Chart.js​ 是一个开源的JavaScript图表库,使用HTML5 Canvas元素来绘制响应式、可访问的图表。它提供了简单而灵活的API,使开发者和设计师能够轻松创建美观的数据可视化图表。🔗 ​GitHub地址🚀 ​核心价值​:数据可视化 · 响应式图表 · 简单易用 · 开源免费 · 生产就绪​项目背景​:​数据可视化需求​:满足现代Web应用的数据展示需求​简单易用​:提供简单直观的API接口​响应式设计​:支持响应式布局和移动设备​开源社区​:活跃的开源社区支持​持续发展。

j8267643的博客 1121

JavaScript 可视化案例 D3.js Chart.js 使用教程 图表实现 柱状图 饼状图 条形图 折现图等

JavaScript可视化图表 引用D3.JS 库 引用 Chart.js 柱状图 饼图 条形图 折现图

weixin_42462436的博客 1236
上一篇: ThreadLocal 学习
下一篇: JSON
a8366
博客等级 码龄19年 10粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值