导航:首页 > 编程语言 > js画布折线

js画布折线

发布时间:2024-01-14 14:51:26

A. Echarts.js画折线图如何去掉小圆点

最大的问题可能是受到了require([],function(){});的阻碍吧。 其实require无非就是一个模块化加载借用其回调专函数去创建图表对属象。
series 里面设置symbol为none;
...
type:'line',

symbol:'none'
....

B. Vue+Echarts 实现自定义折线图组件

网上Vue结合Echarts使用的例子少之又少,而且数据都写好在组件内且不可复用

本文基于 Vue.js高仿饿了么外卖App ,在商家页面添加一个简易的可交互的平滑折线图

Chrome调试模拟手机端操作效果:

</br>
我将拆分为两个部分,标题和三个选择框写在当前页面seller.vue中,将配置折线图的样式都写在父组件seller.vue里,折线图则抽象化为可复用的组件。

</br>

模拟一份JSON格式的 折线图xy坐标轴数据 chartData ,其中分了日、周、月这三组数据。
** data.json:**

</br>

在 webpack 的 dev-sever.js 中读取模拟好的 chartData 数据,然后新增个接口apiRoutes,当服务端收到请求以后,返回给客户端 chartData
** dev-sever.js:**

</br>

Hello.vue向服务器请求并获取 chartData
Hello.vue:

</br>

seller.vue 中写好标题和三个选择框的样式

props 接收从 Hello.vue 传来的xy坐标轴数据 chartData

传入 chart.vue 将要接收的数据,impData 为 chartData 中的一组数据,setData 为自定义折线图样式的数据。

select(type) 方法是点击选择框高亮,并把 impData 赋值为 chartData 中对应的一组数据

** seller.vue :**

</br>

chart.vue组件中

prop 接收父组件 seller.vue 的传来的 impChartData 和 setChartData

watch 观察 impChartData 数据的变化,因为父组件点击选择框会改变传入的数据,这里相应的改变数据,并渲染新的折线图

drawLine(xData, yData, xAxisColor, lineColor, grid) 是绘制折线图样式的主体,我提取出了五个属性值作为参数,
分别是x坐标轴数据、y坐标轴数据、x坐标轴指示器的颜色、折线线条的颜色、直角坐标系内绘图网格,
分别获取自 this.impChartData.xData、 this.impChartData.yData、 this.setChartData.xAxisColor、 this.setChartData.lineColor、 this.setChartData.grid

Echarts的 配置项 很多,如果想自定义更加个性化的样式,比如多条折线、两个x轴坐标,都可以设置为参数。

GitHub 上已经有达人做了几张图的基本模板 v-charts ,很方便就是可配置项比较少。

chart.vue:

</br>
参考文档:
Echarts 配置项

C. 有哪些用 javaScript 实现的图形库

D3.js

D3 是最流行的可视化库之一,它被很多其他的表格插件所使用。它允许绑定任意数据到 DOM,然后将数据驱动转换应用到文档中。你可以使用它用一个数组创建基本的
HMTL 表格,或是利用它的流体过度和交互,用相似的数据创建惊人的 SVG 条形图。


ChartJS

Chart.js 是一个令人印象深刻的 JavaScript 图表库,建立在 HTML5 Canvas
基础上。目前,它支持6种图表类型(折线图,条形图,雷达图,饼图,柱状图和极地区域区)。而且,这是一个独立的包,不依赖第三方 JavaScript 库,小于
5KB。


Highcharts JS

Highcharts JS 是一个制作图表的纯 Javascript 类库,主要特性如下:兼容性:兼容当今所有的浏览器,包括 iPhone、IE
和火狐等等;对个人用户完全免 费;纯JS,无BS;支持大部分的图表类型:直线图,曲线图、区域图、区域曲线图、柱状图、饼装图、散布图;跨语言:不管是
PHP、Asp.net 还是 Java 都可以使用。


Fusioncharts

FusionCharts Suite XT 是个专业的 JavaScript
图表库,能创建任何类型的图表。它创建的图表都是可以进行完全自定义的,标签,字体,边界等等,都可以进行修改。它有很强的交互功能,有许多信息提示,可 点击的
legend 关键字,还有 dril-down,缩放/滚动 和单击打印图表功能。


Flot

Flot 是受 Plotr 和 PlotKit 的 启发,Ole Laursen 基于 jQuery 开发了一个图表绘制(WEB Chart)插件并命名为
flot。 flot 是个纯 JavaSript 库,专注于简单的使用方式,迷人的外观和交互式特性。支持的浏览器有: Internet Explorer 6+,
Chrome, Firefox 2+, Safari 3+ and Opera 9.5+。


Chartist.js

Chartist.js 提供了优美的响应图表。就像 ChartJS。它使用 SVG 渲染图,可以被控制,并通过对 CSS3 媒体查询和 SASS
定制。另外 Chartist.js 提供很酷的动画。


n3-charts

如果你是一个 AngularJS 开发者,你一定喜欢款有趣的图表。它是建立在 D3.js 和 AngularJS 的基础上,提供了可定制的
AngularJS 指令的形式不同标准的图表。


Ember Charts

Ember Charts 是一个基于 Ember.js 和 D3.js
的图表库。它包括时间序列、柱状图、饼图、点图,很容易扩展和修改。这些图表组件代表图表交互性和演示的最佳实践,是高度可定制和可扩展的。


Chartkick

Chartkick 是专为 Ruby 应用程序的 JavaScript
图表库。它提供了所有主要的图表类型,如饼图,柱形图,条形图,面积,地理,时间,以及多个系列。


MeteorCharts

它有一个很酷的图表生成器,为您提供选项来选择图表,选择主题,然后生成一个图表。


amCharts

amCharts 无疑是最漂亮的图表库。amCharts 提供了JavaScript/HTML5 Charts、Javascript/HTML5
Stock Chart、JavaScript Maps 三种图表组件。


EJS Chart

EJS图表声称自己是企业准备的图表库。图表看起来很干净,可读性比大多数旧的图表库。这也是与IE6+等旧浏览器兼容。


uvCharts

uvCharts 是一个开源的 JavaScript 图表库,号称有100多个自定义选项。它拥有12种不同的标准图表类型,开箱即用。


ECharts

基于 Canvas,纯 JavaScript
图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。

商业产品常用图表库,底层基于ZRender,创建了坐标系,图例,提示,工具箱等基础组件,并在此上构建出折线图(区域图)、柱状图(条状图)、散点图(气泡图)、饼图(环形图)、K线图、地图、和弦图以及力导向布局图,同时支持任意维度的堆积和多图表混合展现。

D. html怎么用js特效做折线图

使用原生js自己写或js库(框架)都是可以的,由于目前HTML5并不是所有的浏览器都完美支持,使用兼容性比较好的js库是个不错的选择。

例如Highcharts图标库就可以实现各类曲线图、折线图、区域图、3D图、柱状图等等。具体使用参考:http://www.hcharts.cn/demo/index.php。

Highcharts中做折线图的demo代码可以作为参考:

<htmllang="en">

<head>

<scripttype="text/javascript"src="http://cdn.hcharts.cn/jquery/jquery-1.8.3.min.js">

</script>

<scripttype="text/javascript"src="http://cdn.hcharts.cn/highcharts/highcharts.js">

</script>

<scripttype="text/javascript"src="http://cdn.hcharts.cn/highcharts/exporting.js">

</script>

<script>

$(function(){

$('#container').highcharts({

chart:{

type:'line'
},

title:{
text:'MonthlyAverageTemperature'
},

ubtitle:{

text:'Source:WorldClimate.com'
},

xAxis:{

categories:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
},

yAxis:{

title:{

text:'Temperature(°C)'
}

},

tooltip:{

enabled:false,

formatter:function(){

return'<b>'+this.series.name+'</b><br/>'+this.x+':'+this.y+'°C';
}
},

plotOptions:{

line:{

dataLabels:{

enabled:true},

enableMouseTracking:false
}
},

series:[{

name:'Tokyo',

data:[7.0,6.9,9.5,14.5,18.4,21.5,25.2,26.5,23.3,18.3,13.9,9.6]
},{

name:'London',

data:[3.9,4.2,5.7,8.5,11.9,15.2,17.0,16.6,14.2,10.3,6.6,4.8]
}]
});
});

</script>

</head>

<body>

<divid="container"style="min-width:700px;height:400px"></div>

</body>

</html>

E. d3.js鱼眼插件效果是怎么实现的

D3 提供了 4 个方法用于实现图形的过渡:

- transition()

启动过渡效果,其前后是图形变化前后的状态(形状、位置、颜色等等),例如:

.attr("fill","red") //初始颜色为红色.transition() //启动过渡.attr("fill","blue") //终止颜色为蓝色

D3 会自动对两种颜色(红色和蓝色)之间的颜色值(RGB值)进行插值计算,得到过渡用的颜色值。

- ration()

指定过渡的持续时间,单位为毫秒。

如 ration(2000) ,指持续 2000 毫秒,即 2 秒。

- ease()

指定过渡的方式,常用的有:

阅读全文

与js画布折线相关的资料

热点内容
mdfldf是什么文件 浏览:569
文件在桌面怎么删除干净 浏览:439
马兰士67cd机版本 浏览:542
javaweb爬虫程序 浏览:537
word中千位分隔符 浏览:392
迷你编程七天任务的地图怎么过 浏览:844
word2003格式不对 浏览:86
百度云怎么编辑文件在哪里 浏览:304
起名app数据哪里来的 浏览:888
微信怎么去泡妞 浏览:52
百度广告html代码 浏览:244
qq浏览器转换完成后的文件在哪里 浏览:623
jsp中的session 浏览:621
压缩完了文件去哪里找 浏览:380
武装突袭3浩方联机版本 浏览:674
网络机顶盒移动网络 浏览:391
iphone手机百度云怎么保存到qq 浏览:148
数据库设计与实践读后感 浏览:112
js对象是什么 浏览:744
网页文件存pdf 浏览:567

友情链接