d3 绘制折线图

摘要:
˂!

d3 绘制折线图第1张

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>svg</title>
        <script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
        <style type="text/css">
            svg{
                background-color: #DDD;
            }
            
            .axis line,.axis path{
                fill:none;
                stroke:black
            }
        </style>
    </head>
    <body>
        
    </body>
    <script type="text/javascript">
        // 绘制面积图
        let width=500,height=500,num=30;
        
        // 定义数据源 学员成绩
        let score=[60,50,80,35,70,40]
        
        // 创建svg
        let svg = d3.select('body').append('svg').attr('width',width).attr('height',height)
        
        // 创建g元素
        let g = svg.append('g').attr('transform',`translate(${num},${num})`)
        
        
        // 定义比例尺
        let scaleX = d3.scale.linear().domain([0,score.length-1]).range([0,width-num*2])
        // let scaleY = d3.scale.linear().domain([0,d3.max(score)]).range([0,height-num*2])
        let scaleY = d3.scale.linear().domain([0,d3.max(score)]).range([height-num*2,0])
        
        // 定义线生成器
        let line = d3.svg.line()
                    .x((d,i)=>{return scaleX(i)})
                    .y((d,i)=>{return scaleY(d)})
                    .interpolate('cardinal')
                    
        // 追加path路径  d
        g.append('path')
            .attr('d',()=>{
                console.log(line(score))
                return line(score)
            })
            .attr('fill','none')
            .attr('stroke','orangered')
        
        // 绘制坐标
        let x = d3.svg.axis().scale(scaleX)
        let y = d3.svg.axis().scale(scaleY).orient('left')
        
        
        g.append('g').attr('class','axis').call(x).attr('transform',`translate(0,${height-num*2})`)
        g.append('g').attr('class','axis').call(y)
        
    </script>

</html>

免责声明:文章转载自《d3 绘制折线图》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vamare、linux (centos)安装教程Oracle主键ID设置自动增长(序列+触发器)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#调用Axis2发布的带SoapHeader用户验证的WebService

起因:合作公司提供了一个WebService供我调用,为了保证安全性,要求在SoapHeader中带用户名和密码进行校验。 在获取了对方的WSDL文件后,并未在文件中指明SoapHeader的格式以及要传递的用户名、密码的属性名称。按照C#中调用WebService的常规方法,在测试工程中“添加Web引用”或“添加服务引用”,只看到生成的*.discoma...

linux 视频输出xrandr设置命令

linux 视频输出xrandr设置命令 沈祥佑关注 0.592019.03.28 17:44:09字数 397阅读 6,886 xrandr 不带参数的xrandr 命令会列出系统支持的视频接口名称和设备连接情况,还可以从输出信息里看到当前分辨率current,以及支持的最大分辨率。带*的表示当前分辨率。 $xrandr Screen 0: m...

sklearn调用SVM算法

1、支撑向量机SVM是一种非常重要和广泛的机器学习算法,它的算法出发点是尽可能找到最优的决策边界,使得模型的泛化能力尽可能地好,因此SVM对未来数据的预测也是更加准确的。 2、SVM既可以解决分类问题,又可以解决回归问题,原理整体相似,不过也稍有不同。 在sklearn章调用SVM算法的代码实现如下所示: #(一)sklearn中利用SVM算法解决分类...

WSDL4J解析WSDL文件方法

利用wsdl4j解析WSDL文件 工具:wsdl4j1.6 解析wsdl文件是axis1.4的服务wsdl文件 wsdl文件:   <?xml version="1.0" encoding="UTF-8" ?> -  <wsdl:definitions targetNamespace="http://localhost:8080/...

pandas dataframe.apply() 实现对某一行/列进行处理获得一个新行/新列

重点:dataframe.apply(function,axis)对一行或一列做出一些操作(axis=1则为对某一列进行操作,此时,apply函数每次将dataframe的一行传给function,然后获取返回值,将返回值放入一个series)python去空格:字符串.strip() 待解决:dataframe.assign()应该怎么用? (1)读入数...

WPF 应用

引用:LiveCharts,LiveCharts.Wpf 1. 示例 折线图 <Window ... xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"> <lvc:CartesianChart> //折线...