<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # <span id="basic">基礎</span> 本章節將循序漸進的介紹基礎的圖形使用,以及使用中需要注意的相關問題。也會介紹整個圖形配合React以及微信小程序環境下的使用。 ## <span id="init">初始化</span> 在 [部署](gettingstarted/deployment.md) 本實例后。如果你并非使用React框架,則你需要在HTML中添加canvas節點。 ```html <canvas id="myCanvas" canvas-id="myCanvas" style="width:600px; height:400px; border: 1px solid #ffffff;"></canvas> ``` 而后使用 `new` 字符聲明一個圖形庫實例,如下所示: ```js import { WxLiner } from 'wx-chart'; let wxLiner = new WxLiner('myCanvas', { width: 700, height: 400, title: '測試線狀圖', legends:[{ text: '測試圖1' }] }); ``` 所有的實例初始化,均需要傳入兩個參數。首參數為圖形所使用的的Canvas畫布的id(或微信小程序中的canvas-id)或者*HTMLElement*節點。第二個參數為圖形實例的詳細設置項。 每個圖形實例均有 __基礎設置__ | 參數 | 類型 | 說明 | 默認值 | | ------------- |:-------------:|:----------------|:-------:| | width | number |寬度(小程序中必填)| 300 | | height | number |高度(小程序中必填)| 200 | | title | string |標題 | | | display | Boolean |展示 | true | | color | Object |[顏色設置](#color) | { hue: 'red', luminosity: 'light'} | 在設置項中也包含 __區域組件設置__,這些用來設置每個區域組件的展示個布局,包括: | 參數 | 類型 | 說明 | 默認值 | | ------------- |:-------------:|:----------------|:-------:| | title | string or Object|圖表抬頭 | | | legends | Array |圖例定義項 | 200 | | legendOptions | Object |圖例設置項 | {position: 'bottom'} | | xScaleItemOptions| Object |X軸定義項默認值 | | | xScaleOptions | Object |X軸設置項 | | | yScaleItemOptions| Object |Y軸定義項默認值 | {position: 'left'} | | yScaleOptions | Object |Y軸設置項 | | | crossScaleOptions | Object |交叉設置項 | | 這些設置的具體會在 [區域組件](component.md) 章節中會做詳細介紹。 ## <span id="update">更新數據</span> 初始化后,圖表不會立即渲染。需要使用 `update` 方法更新數據后,才會觸發渲染。 ```js import { WxLiner } from 'wx-chart'; let wxLiner = new WxLiner('myCanvas', {...}); wxLiner.update([{ value: 1, label: '一月' }, { value: 40, label: '二月' }, { value: 35, label: '三月' }, { value: 56, label: '四月' }, { value: 71, label: '五月' }]); ``` `update` 方法需要傳入一個數組。其中的每一項表示一個X軸維度的數據集合。 需要特別注意的是,根據[圖例](component.md#legend)的數量,數據的取值方式也會略有不同: * 當圖例__僅有一個__時,或者類似于餅圖這種只能有一個圖例的圖形時,程序默認會從 `value` 中去的值。 * 當圖例__有多個__時,程序默認會從 `legends`定義中,對應每個定義項目的 `key`設置,并讀取每個數據集合中對應名稱的值。 例如: ```js import { WxLiner } from 'wx-chart'; let wxLiner = new WxLiner('myCanvas', { ..., legends: [{ text: '日用品', key: 'dailyNecessities' }, { text: '水果', key: 'fruit' }, { text: '家電', key: 'appliances' }] }); wxElement.update([{ dailyNecessities: 1, fruit: 10, appliances: 30, label: '一月' }, { dailyNecessities: 20, fruit: 50, appliances: 10, label: '二月' }, ...}); ``` ## <span id="color">顏色相關</span> 圖形庫內嵌 [randomColor](https://github.com/davidmerfield/randomColor),默認的能夠隨機生成顏色,默認生成紅色系為基礎色系的顏色。通過設置圖形的 `color` 選項可以設置隨機顏色的色系和光度。 例如,設置為亮色藍色系: ```js let wxLiner = new WxLiner('myCanvas', { color: { luminosity: 'light', hue: 'blue' } ... }); ``` 詳細設置參見 [randomColor文檔](https://github.com/davidmerfield/randomColor) 當然,你也可以自己控制每個圖形的顏色。通常來講,在圖例配置中可以做相應設置,以線狀圖為例: ```js let wxLiner = new WxLiner('myCanvas', { ..., legends:[{ text: '日用品', key: 'dailyNecessities', fillArea: true, fillStyle: '#3385ff', strokeStyle: '#3385ff' }, { text: '水果', key: 'fruit', strokeStyle: '#238456' }, { text: '家電', key: 'appliances' }] }); ``` 上述例子中,`fillStyle` 與 `strokeStyle` 屬性,分別配置每個線圖圖例的填充顏色和線的顏色。 ## <span id="lifecycle">生命周期</span> 圖形庫每個實例維護自身的生命周期,幾個關鍵周期以及相應函數如下: * 初始化 (new 實例化后) * 做相應清理 * 初始化畫布 * 配置以及相關組件 * 更新數據 `update` * 圖像繪畫 `draw` * 清除圖形 `clear` * 繪畫組件(標題,圖例,軸) * 圖像銷毀 `destroy` * 清除圖形 `clear` * 重置畫布屬性 ## <span id="react">React結合</span> React中的使用方法與正常的使用方法基本一致。參數的傳入是通過在jsx中傳入相關屬性完成。 首先你需要按照 [部署-React](gettingstarted/deployment.md#react) 章節中的實例去部署,而后使用 `ReactDOM.render` 方法渲染。 ```js import React from 'react'; import ReactDOM from 'react-dom'; import WxLinerReact from 'wx-chart'; let body = document.body; let linerProps = { width: 700, height: 400, title: '測試線狀圖', legends:[{ text: '測試圖1' }] }; // 直接使用...符號將props傳入組件 const wxElement = ReactDOM.render(<WxLinerReact {...linerProps}></WxLinerReact>, body); // 更新數據 wxElement.update({...}); // 銷毀 // ReactDOM.unmountComponentAtNode(document.body); ``` ## <span id="wx">微信小程序結合</span> 微信小程序中的使用方式,除了 [部署-微信小程序](gettingstarted/deployment.md#wx) 略有區別之外,其他基本一致。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看