91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

d3.js怎么在Vue項目中使用

發布時間:2021-03-10 17:15:59 來源:億速云 閱讀:666 作者:Leah 欄目:web開發

這期內容當中小編將會給大家帶來有關d3.js怎么在Vue項目中使用,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

首先安裝

npm install d3 --save-dev

以防萬一,然后看package.json

d3.js怎么在Vue項目中使用

安裝完成

在我們開始之前,讓我們渲染一個Vue組件,它使用常規的D3 DOM操作呈現一個簡單的折線圖:

<script>
import * as d3 from 'd3';
const data = [99, 71, 78, 25, 36, 92];
export default {
 name: 'non-vue-line-chart',
 template: '<div></div>',
 mounted() {
  const svg = d3.select(this.$el)
   .append('svg')
   .attr('width', 500)
   .attr('height', 270)
   .append('g')
   .attr('transform', 'translate(0, 10)');
  const x = d3.scaleLinear().range([0, 430]);
  const y = d3.scaleLinear().range([210, 0]);
  d3.axisLeft().scale(x);
  d3.axisTop().scale(y);
  x.domain(d3.extent(data, (d, i) => i));
  y.domain([0, d3.max(data, d => d)]);
  const createPath = d3.line()
   .x((d, i) => x(i))
   .y(d => y(d));
  svg.append('path').attr('d', createPath(data));
 },
};
</script>
<style lang="sass">
svg
 margin: 25px;
 path
  fill: none
  stroke: #76BF8A
  stroke-width: 3px
</style>

代碼簡單易懂,但這僅僅是一個基本的例子。因為我們沒有使用模板,所以需要更多操作和計算的更復雜的可視化會掩蓋組件的設計和邏輯。上述方法的另一個警告是,我們不能使用scopedCSS 的屬性,因為D3會動態地向DOM添加元素。

d3.js怎么在Vue項目中使用

可以使用比較奇怪,但是代碼比較優雅的方式去實現

<template>
 <svg width="500" height="270">
  <g >
   <path :d="line" />
  </g>
 </svg>
</template>
<script>
import * as d3 from 'd3';
export default {
 name: 'vue-line-chart',
 data() {
  return {
   data: [99, 71, 78, 25, 36, 92],
   line: '',
  };
 },
 mounted() {
  this.calculatePath();
 },
 methods: {
  getScales() {
   const x = d3.scaleTime().range([0, 430]);
   const y = d3.scaleLinear().range([210, 0]);
   d3.axisLeft().scale(x);
   d3.axisBottom().scale(y);
   x.domain(d3.extent(this.data, (d, i) => i));
   y.domain([0, d3.max(this.data, d => d)]);
   return { x, y };
  },
  calculatePath() {
   const scale = this.getScales();
   const path = d3.line()
    .x((d, i) => scale.x(i))
    .y(d => scale.y(d));
   this.line = path(this.data);
  },
 },
};
</script>
<style lang="sass" scoped>
svg
 margin: 25px;
path
 fill: none
 stroke: #76BF8A
 stroke-width: 3px
</style>

上述就是小編為大家分享的d3.js怎么在Vue項目中使用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平顶山市| 高密市| 明光市| 抚远县| 江津市| 祥云县| 长阳| 富源县| 南郑县| 林芝县| 增城市| 周口市| 房产| 松潘县| 鄂托克前旗| 车致| 乐陵市| 宝山区| 雅江县| 江阴市| 陆川县| 武山县| 虎林市| 德兴市| 江油市| 博罗县| 长寿区| 亚东县| 拉孜县| 安岳县| 赫章县| 巴中市| 江永县| 衡南县| 兰溪市| 广灵县| 墨脱县| 武汉市| 门头沟区| 阿克苏市| 邵阳市|