当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


d3.js areaRadial.context()用法及代码示例


D3.js中的areaRadial.context()方法可让您指定将在其中渲染径向区域的画布元素的上下文。调用生成器时,将在当前上下文中渲染径向区域。我们可以使用这种方法(例如颜色,笔触,填充等)自行设置区域的上下文。默认值为null。

用法:

d3.areaRadial.context( _context )

参数:此方法接受如上所述和以下描述的单个参数:

  • _context:它是用户设置的上下文。

返回值:此方法返回当前上下文。

下面给出的是D3.js中areaRadial.context()方法的一些示例:



范例1:

HTML

<!DOCTYPE html> 
<html> 
<head> 
  <script src= 
"https://d3js.org/d3.v5.min.js"> 
  </script> 
</head> 
<body> 
  <h1 style="text-align:center; 
             color:green;"> 
    GeeksforGeeks 
  </h1> 
  <h3 style="text-align:center;"> 
    D3.js | areaRadial.context() Method 
  </h3> 
  <center> 
    <canvas id="gfg" width="200" height="200"> 
    </canvas> 
  </center> 
  <script> 
    var points = [ 
      { x:0, y:0 }, 
      { x:2, y:3 }, 
      { x:4, y:1 }, 
      { x:6, y:8 }, 
      { x:8, y:17 }, 
      { x:10, y:15 }, 
      { x:12, y:20 }]; 
  
    // Get the context 
    var context = d3.select("#gfg") 
        .node() 
        .getContext("2d"); 
  
    var xScale = d3.scaleLinear() 
        .domain([0, 6]) 
        .range([0, 2 * Math.PI]); 
    var yScale = d3.scaleLinear() 
        .domain([0, 20]) 
        .range([90, 30]); 
  
    var Gen = d3.areaRadial() 
      .angle(d => xScale(d.x / 2)) 
      .innerRadius(d => yScale(d.y) / 2) 
      .outerRadius(d => yScale(d.y)) 
      
      // Specify the context 
      // to be used 
      .context(context); 
  
    context.translate(100, 100); 
    Gen(points); 
    context.strokeStyle = "black"; 
    context.fillStyle = "green"; 
    context.fill(); 
    context.stroke(); 
  </script> 
</body> 
</html>

输出:

范例2:

HTML

<!DOCTYPE html> 
<html> 
<head> 
  <script src= 
"https://d3js.org/d3.v5.min.js"> 
  </script> 
</head> 
<body> 
  <h1 style="text-align:center; 
             color:green;"> 
    GeeksforGeeks 
  </h1> 
  <h3 style="text-align:center;"> 
    D3.js | areaRadial.context() Method 
  </h3> 
  <center> 
    <canvas id="gfg" width="200" height="200"> 
    </canvas> 
  </center> 
  <script> 
    var data = [ 
      { x:10, y:1 }, 
      { x:15, y:3 }, 
      { x:20, y:5 }, 
      { x:25, y:7 }, 
      { x:30, y:9 }, 
      { x:35, y:11 }, 
      { x:40, y:13 }]; 
  
    // Get the context 
    var context = d3.select("#gfg") 
        .node() 
        .getContext("2d"); 
  
    var xScale = d3.scaleLinear() 
        .domain([0, 6]) 
        .range([0, 2 * Math.PI]); 
    var yScale = d3.scaleLinear() 
        .domain([0, 20]) 
        .range([90, 30]); 
  
    var Gen = d3.areaRadial() 
      .angle(d => xScale(d.x / 2)) 
      .innerRadius(d => yScale(d.y) / 2) 
      .outerRadius(d => yScale(d.y)) 
  
      // Specify the context 
      // to be used 
      .context(context); 
  
    context.translate(100, 100); 
    Gen(data); 
    context.strokeStyle = "black"; 
    context.fillStyle = "green"; 
    context.fill(); 
    context.stroke(); 
  </script> 
</body> 
</html>

输出:




相关用法


注:本文由纯净天空筛选整理自taran910大神的英文原创作品 D3.js areaRadial.context() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。