• <menuitem id="qt1jv"><abbr id="qt1jv"></abbr></menuitem>
    <em id="qt1jv"></em>
    ><\/span>\n<\/span>\n \n<\/span> ><\/span>Loading...<\/angular-chart<\/span>><\/span>\n<\/span> <\/body<\/span>><\/span>\n<\/span><\/html<\/span>><\/span>\n<\/span><\/pre>以下是我們圖表組件的基礎(chǔ):

    \n<\/h2>\n

    >讓我們一秒鐘看看發(fā)生了什麼。 <\/p>>\n

    >我們從使用IIFE(立即調(diào)用函數(shù)表達(dá)式)開始,我們用來命名應(yīng)用程序空間。我們將其傳遞窗口。 Chartapp作為一個參數(shù),如果未定義,則將其初始化為空對象。這是我們的應(yīng)用程序?qū)⒁幼〉牡胤?- 在全局對像上的單個屬性中。\n在IIFE內(nèi)部,我們通過將組件和類方法從NG.Core(Angular的核心組件集合)鏈接來創(chuàng)建我們的組件(AppComponent)。我們正在傳遞組件方法一個配置對象,該對象包含以下propeties:>\n<\/ancy><\/p>\n

    (function(chartApp){\n<\/span>  chartApp.AppComponent<\/span> = ng.core.Component<\/span>({\n<\/span>    selector: 'angular-chart',\n<\/span>    template: '
    Chart will render here<\/div>'\n<\/span> }).Class<\/span>({\n<\/span> constructor: function(){}\n<\/span> });\n<\/span>\n document.addEventListener('DOMContentLoaded', function() {\n<\/span> ng.platform.browser.bootstrap(chartApp.AppComponent<\/span>);\n<\/span> });\n<\/span>})(window.chartApp || (window.chartApp = {}));\n<\/span><\/pre>\n

    選擇器:一個簡單的CSS選擇器,該選擇器指定主機(jī)HTML元素。 Angular將在遇到與此選擇器匹配的HTML元素時創(chuàng)建並顯示組件的實(shí)例。\n<\/p>>

    >模板:渲染組件時要使用的模板。目前,我們正在傳遞一個包含佔(zhàn)位符<\/p>\n

    元素的字符串,但理想情況下,我們應(yīng)該將其移至其自己的模板中。\n\n

    類方法是我們在其中添加模板的行為和事件綁定。 >\n<\/ancy><\/p>定義了我們的基本組件,我們使用Angular的瀏覽器bootstrap函數(shù)初始化它。

      \n
    • >您應(yīng)該能夠在此時在瀏覽器中運(yùn)行代碼,並查看消息“圖表將在此處呈現(xiàn)”。

      <\/p>\n

      創(chuàng)建圖表<\/h2>\n

      >讓我們繼續(xù)創(chuàng)建圖表並顯示2014年的一些數(shù)據(jù)。\n為此\n<\/p>\n

      類型:我們希望創(chuàng)建<\/p>的圖表類型\n

        renderat:將我們的圖表渲染到
      • >的DOM選擇器\n<\/li>寬度和高度:圖表尺寸
      • \n<\/li>ID:生成圖表的ID
      • >\n<\/li>dataformat:傳遞到數(shù)據(jù)源選項(xiàng)的數(shù)據(jù)格式>\n
      • > dataSource:實(shí)際圖表的配置以及它應(yīng)該顯示的數(shù)據(jù)\n<\/li>\n
      • \n\n<\/li>這是完整的配置文件。
      • \n<\/li>>不確定任何圖表選項(xiàng)實(shí)際上要做什麼,或者您想找出如何配置圖表的外觀,則可以參考FusionCharts文檔中的“圖表屬性”頁面。 <\/and>\n<\/ul>\n
        <\/span>\n<\/span> lang=\"en\"<\/span>><\/span>\n<\/span>  ><\/span>\n<\/span>     charset=\"UTF-8\"<\/span>><\/span>\n<\/span>    ><\/span>Angular 2 FusionCharts Demo<\/title<\/span>><\/span>\n<\/span>\n    \n<\/span>     rel=\"stylesheet\"<\/span> href=\"styles.css\"<\/span>><\/span>\n<\/span>     href='https:\/\/fonts.googleapis.com\/css?family=Source+Sans+Pro:300'<\/span> rel='stylesheet'<\/span>><\/span>\n<\/span>\n    \n<\/span>    
        	
        
        
        
        
        
        
        

        亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

        目錄
        鑰匙要點(diǎn)
        角2 vs Angular 1.x
        創(chuàng)建圖表
        請注意添加事件偵聽器並在Angular 2中添加NGCLASS指令的新語法。它們幾乎與Angular 1相同,沒有一些括號和括號。
        >您可以在Plunker上查看此演示的代碼?;蛘撸梢詮奈覀兊腉itHub存儲庫中下載代碼。
        經(jīng)常詢問有關(guān)Angular2 FusionCharts中圖表組件的問題
        >如何在Angular2?
        是的,F(xiàn)usionCharts與Angular Cli兼容。通過NPM安裝FusionCharts和Angular FusionCharts之後,您可以將它們導(dǎo)入到Angular CLI項(xiàng)目中。請記住將FusionChartSmodule添加到您的ngmodule導(dǎo)入數(shù)組中。
        中的FusionCharts創(chuàng)建基本圖表來創(chuàng)建基本圖表來創(chuàng)建基本圖表,您需要首先定義圖表配置中的圖表配置。成分。這包括圖表類型,數(shù)據(jù)源和其他選項(xiàng)。然後,使用模板中的FusionCharts組件呈現(xiàn)圖表。您可以通過修改圖表配置來自定義圖表。
        >如何導(dǎo)出我的FusionCharts圖表?您可以將圖表導(dǎo)出為圖像,PDF或SVG。要啟用導(dǎo)出,您需要將導(dǎo)出選項(xiàng)設(shè)置為圖表配置中的true。
        首頁 web前端 js教程 用Angular 2和FusionCharts構(gòu)建圖表組件

        用Angular 2和FusionCharts構(gòu)建圖表組件

        Feb 17, 2025 pm 12:51 PM

        用Angular 2和FusionCharts構(gòu)建圖表組件

        鑰匙要點(diǎn)

        • >利用Angular 2用於建築圖表組件,利用其在Angular 1.X上的改進(jìn),包括增強(qiáng)的語言支持和DOM管理。
        • >通過直接與JavaScript進(jìn)行編碼,將FusionCharts與Angular 2與Angular 2集成,以創(chuàng)建視覺吸引人的圖表。
        • >開發(fā)一個動態(tài)圖表組件,能夠在數(shù)據(jù)集之間切換(例如,2014年和2015年的主要科技公司的收入統(tǒng)計(jì)數(shù)據(jù)),增強(qiáng)交互性和用戶參與度。
        • >
        • >使用FusionCharts的註釋功能來自定義圖表,例如將公司徽標(biāo)添加到圖表軸上,該徽標(biāo)提供了量身定制的視覺體驗(yàn)。
        • >探索與Angular 2和FusionCharts的進(jìn)一步功能和集成可能性,鼓勵讀者在基本圖表組件上擴(kuò)展具有更複雜的配置和圖表類型的基本圖表組件。
        • >
        • 本文是由Vildan Softic審查的。感謝SitePoint所有的同行評審員製作SitePoint內(nèi)容的最佳狀態(tài)!
        >作為Web開發(fā)人員,如果您不能錯過的東西,那就是Angular 2。它是Google受歡迎的JavaScript框架的完整重寫,並且出於所有正確的原因,它一直在新聞中。它比以前的版本提供了一些重大改進(jìn),這就是為什麼我們今天選擇它來構(gòu)建一些漂亮的圖表。

        對於圖表,我們將使用FusionCharts提供的JavaScript圖表庫。它提供了良好的圖表集合,並且與所有主要瀏覽器兼容。儘管FusionCharts為Angular提供了專用插件,但它尚未與Angular 2兼容。因此,我不會使用它,而是使用JavaScript和Angular 2直接使用它代碼。您在應(yīng)用程序中使用了Angular 1。 我們要繪圖的圖表將描述一個有趣的統(tǒng)計(jì)數(shù)據(jù)- 五家頂級科技公司(亞馬遜,蘋果,F(xiàn)acebook,Google,Google和Microsoft)的收入,並將可以選擇在2014年和2015年的收入數(shù)據(jù)之間切換。將首先通過Angular 2中創(chuàng)建圖表的分步過程。構(gòu)建基本圖表後,我們將介紹一些高級主題,例如添加註釋和更新圖表數(shù)據(jù)。 >一如既往,您可以從我們的GitHub repo下載本教程的代碼,也可以在文章末尾跳到完成圖表的演示。

        >

        角2 vs Angular 1.x

        > Angular 2比以前的主要版本(Angular 1.x)有一些重大變化,例如其對Typescript和Dart等語言的支持,以及它計(jì)算到DOM的更新方式。如果您想了解有關(guān)Angular 1概念和技術(shù)如何映射到Angular 2的更多信息,則可以查看官方快速參考。如果您有興趣將應(yīng)用程序從Angular 1.X遷移到Angular 2,則可以閱讀官方遷移指南。

        > Angular 2支持打字稿和DART,但由於其熟悉程度,我們將使用本機(jī)JavaScript在本教程中編寫Angular 2應(yīng)用程序。使用Typescript或Dart也將引入不必要的構(gòu)建步驟。

        >

        >設(shè)置

        有很多方法可以使用Angular 2項(xiàng)目啟動和運(yùn)行。最簡單的可能是前往官方網(wǎng)站並遵循其5分鐘的Quickstart教程。

        >對這種方法的一個小警告是,它依賴於您在計(jì)算機(jī)上安裝了節(jié)點(diǎn)和NPM。我們確實(shí)為此提供了指南,但是如果您希望在不安裝這些教程的情況下遵循本教程,則可以使用以下模板:>

        創(chuàng)建圖表組件

        組件是任何Angular 2應(yīng)用程序的構(gòu)件。它們是可重複使用的代碼,包括視圖和一些邏輯。如果您熟悉Angular 1,則可以將它們視為帶有模板和控制器的指令。
        <span><span><!DOCTYPE html></span>
        </span><span><span><span><html</span> lang<span>="en"</span>></span>
        </span>  <span><span><span><head</span>></span>
        </span>    <span><span><span><meta</span> charset<span>="UTF-8"</span>></span>
        </span>    <span><span><span><title</span>></span>Angular 2 FusionCharts Demo<span><span></title</span>></span>
        </span>
            <span><!-- 1. Load custom CSS & fonts-->
        </span>    <span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="styles.css"</span>></span>
        </span>    <span><span><span><link</span> href<span>='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300'</span> rel<span>='stylesheet'</span>></span>
        </span>
            <span><!-- 2. Load Angular 2 specific libraries -->
        </span>    <span><span><span><script</span> src<span>="https://code.angularjs.org/2.0.0-beta.17/angular2-polyfills.js"</span>></span><span><span></script</span>></span>
        </span>    <span><span><span><script</span> src<span>="https://code.angularjs.org/2.0.0-beta.17/Rx.umd.js"</span>></span><span><span></script</span>></span>
        </span>    <span><span><span><script</span> src<span>="https://code.angularjs.org/2.0.0-beta.17/angular2-all.umd.dev.js"</span>></span><span><span></script</span>></span>
        </span>
            <span><!-- 3. Load FusionCharts library-->
        </span>    <span><span><span><script</span> src<span>="https://static.fusioncharts.com/code/latest/fusioncharts.js"</span>></span><span><span></script</span>></span>
        </span>
            <span><!-- 4. Load component -->
        </span>    <span><span><span><script</span> src<span>='main.js'</span>></span><span><span></script</span>></span>
        </span>  <span><span><span></head</span>></span>
        </span>  <span><span><span><body</span>></span>
        </span>
            <span><!-- 5. Display the application -->
        </span>    <span><span><span><angular-chart</span>></span>Loading...<span><span></angular-chart</span>></span>
        </span>  <span><span><span></body</span>></span>
        </span><span><span><span></html</span>></span>
        </span>
        以下是我們圖表組件的基礎(chǔ):

        >讓我們一秒鐘看看發(fā)生了什麼。

        >

        >我們從使用IIFE(立即調(diào)用函數(shù)表達(dá)式)開始,我們用來命名應(yīng)用程序空間。我們將其傳遞窗口。 Chartapp作為一個參數(shù),如果未定義,則將其初始化為空對象。這是我們的應(yīng)用程序?qū)⒁幼〉牡胤?- 在全局對像上的單個屬性中。 在IIFE內(nèi)部,我們通過將組件和類方法從NG.Core(Angular的核心組件集合)鏈接來創(chuàng)建我們的組件(AppComponent)。我們正在傳遞組件方法一個配置對象,該對象包含以下propeties:>

        <span>(function(chartApp){
        </span>  chartApp<span>.<span>AppComponent</span> = ng.core.<span>Component</span>({
        </span>    <span>selector: 'angular-chart',
        </span>    <span>template: '<div>Chart will render here</div>'
        </span>  <span>}).<span>Class</span>({
        </span>    <span>constructor: function(){}
        </span>  <span>});
        </span>
          <span>document.addEventListener('DOMContentLoaded', function() {
        </span>    ng<span>.platform.browser.bootstrap(chartApp.<span>AppComponent</span>);
        </span>  <span>});
        </span><span>})(window.chartApp || (window.chartApp = {}));
        </span>

        選擇器:一個簡單的CSS選擇器,該選擇器指定主機(jī)HTML元素。 Angular將在遇到與此選擇器匹配的HTML元素時創(chuàng)建並顯示組件的實(shí)例。

        >

        >模板:渲染組件時要使用的模板。目前,我們正在傳遞一個包含佔(zhàn)位符

        元素的字符串,但理想情況下,我們應(yīng)該將其移至其自己的模板中。

        類方法是我們在其中添加模板的行為和事件綁定。 >

        定義了我們的基本組件,我們使用Angular的瀏覽器bootstrap函數(shù)初始化它。
        • >您應(yīng)該能夠在此時在瀏覽器中運(yùn)行代碼,並查看消息“圖表將在此處呈現(xiàn)”。

          創(chuàng)建圖表

          >讓我們繼續(xù)創(chuàng)建圖表並顯示2014年的一些數(shù)據(jù)。 為此

          類型:我們希望創(chuàng)建

          的圖表類型
            renderat:將我們的圖表渲染到
          • >的DOM選擇器
          • 寬度和高度:圖表尺寸
          • ID:生成圖表的ID
          • >
          • dataformat:傳遞到數(shù)據(jù)源選項(xiàng)的數(shù)據(jù)格式>
          • > dataSource:實(shí)際圖表的配置以及它應(yīng)該顯示的數(shù)據(jù)
          • 這是完整的配置文件。
          • >不確定任何圖表選項(xiàng)實(shí)際上要做什麼,或者您想找出如何配置圖表的外觀,則可以參考FusionCharts文檔中的“圖表屬性”頁面。
          <span><span><!DOCTYPE html></span>
          </span><span><span><span><html</span> lang<span>="en"</span>></span>
          </span>  <span><span><span><head</span>></span>
          </span>    <span><span><span><meta</span> charset<span>="UTF-8"</span>></span>
          </span>    <span><span><span><title</span>></span>Angular 2 FusionCharts Demo<span><span></title</span>></span>
          </span>
              <span><!-- 1. Load custom CSS & fonts-->
          </span>    <span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="styles.css"</span>></span>
          </span>    <span><span><span><link</span> href<span>='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300'</span> rel<span>='stylesheet'</span>></span>
          </span>
              <span><!-- 2. Load Angular 2 specific libraries -->
          </span>    <span><span><span><script</span> src<span>="https://code.angularjs.org/2.0.0-beta.17/angular2-polyfills.js"</span>></span><span><span></script</span>></span>
          </span>    <span><span><span><script</span> src<span>="https://code.angularjs.org/2.0.0-beta.17/Rx.umd.js"</span>></span><span><span></script</span>></span>
          </span>    <span><span><span><script</span> src<span>="https://code.angularjs.org/2.0.0-beta.17/angular2-all.umd.dev.js"</span>></span><span><span></script</span>></span>
          </span>
              <span><!-- 3. Load FusionCharts library-->
          </span>    <span><span><span><script</span> src<span>="https://static.fusioncharts.com/code/latest/fusioncharts.js"</span>></span><span><span></script</span>></span>
          </span>
              <span><!-- 4. Load component -->
          </span>    <span><span><span><script</span> src<span>='main.js'</span>></span><span><span></script</span>></span>
          </span>  <span><span><span></head</span>></span>
          </span>  <span><span><span><body</span>></span>
          </span>
              <span><!-- 5. Display the application -->
          </span>    <span><span><span><angular-chart</span>></span>Loading...<span><span></angular-chart</span>></span>
          </span>  <span><span><span></body</span>></span>
          </span><span><span><span></html</span>></span>
          </span>
          >我們要做的另一件事是更新模板以包括我們的圖表應(yīng)呈現(xiàn)的容器。您可以通過將字符串指定到組件的模板屬性(如我們之前所做的),或者通過將模板移動到自己的文件中並使用TemplateUrl。

          無論哪種方式,這都是我們的模板的樣子。

          >

          這是我們到目前為止所擁有的演示:

          >
          <span>(function(chartApp){
          </span>  chartApp<span>.<span>AppComponent</span> = ng.core.<span>Component</span>({
          </span>    <span>selector: 'angular-chart',
          </span>    <span>template: '<div>Chart will render here</div>'
          </span>  <span>}).<span>Class</span>({
          </span>    <span>constructor: function(){}
          </span>  <span>});
          </span>
            <span>document.addEventListener('DOMContentLoaded', function() {
          </span>    ng<span>.platform.browser.bootstrap(chartApp.<span>AppComponent</span>);
          </span>  <span>});
          </span><span>})(window.chartApp || (window.chartApp = {}));
          </span>
          加載plunk…

          >您可以在Plunker上查看此演示的代碼。
          <span>new FusionCharts({
          </span>  <span>"type": "column2d",
          </span>  <span>"renderAt": "chart-container",
          </span>  <span>"width": "550",
          </span>  <span>"height": "400",
          </span>  <span>"id": "revenue-chart",
          </span>  <span>"dataFormat": "json",
          </span>  <span>"dataSource": {
          </span>    <span>"chart": {
          </span>      <span>"yAxisName": "Revenue (In USD Billion)",
          </span>      <span>"yAxisMaxValue": "200",
          </span>      <span>...
          </span>    <span>},
          </span>    <span>"data": [{
          </span>      <span>"label": "Amazon",
          </span>      <span>"value": "88.99"
          </span>    <span>}, {
          </span>      <span>"label": "Apple",
          </span>      <span>"value": "182.8"
          </span>    <span>}
          </span>    <span>...
          </span>    <span>]
          </span>  <span>}
          </span><span>});
          </span>

          如果您單擊plunker上的演示,則在文件main.js中,您可能會注意到我們已經(jīng)將FusionCharts配置數(shù)據(jù)分開為自己的文件,然後我們使用Angular的HTTP類來獲取。這是為了清楚起見(它使角度特定的代碼易於遵循),也是因?yàn)樵诂F(xiàn)實(shí)生活中,請求數(shù)據(jù)請求是您通常會在現(xiàn)實(shí)生活中所做的。

          > 但是,這不是絕對必要的,您會通過直接在ChartApp構(gòu)造函數(shù)中執(zhí)行所有操作來獲得相同的結(jié)果:

          >唯一要提及的是,初始化代碼包裹在FusionCharts.ready方法中。在加載FusionCharts庫之前,此圖表實(shí)例化代碼不受調(diào)用。

          >

          >準(zhǔn)備好基本圖表,現(xiàn)在是時候添加更多功能了,例如使用公司徽標(biāo)而不是名稱並使用2015年的新數(shù)據(jù)更新圖表。

          >

          添加註釋

          chartApp<span>.<span>AppComponent</span> = ng.core.<span>Component</span>({
          </span>  <span>selector: 'angular-chart',
          </span>  <span>templateUrl: 'chart.html'
          </span><span>}).<span>Class</span>({
          </span>  <span>...
          </span><span>});
          </span>
          >為了將公司徽標(biāo)添加到X軸上,我們將使用FusionCharts強(qiáng)大的功能之一 -

          註釋

          。 FusionCharts對像上的註釋允許您在圖表上指定的位置繪製自定義形狀或圖像。

          >假設(shè)您想在圖表中心添加公司徽標(biāo)。您可以使用註釋和宏來進(jìn)行。宏將為您提供圖表中心的坐標(biāo),註釋將使您在該位置添加圖像。 當(dāng)您使用動態(tài)註釋以例如獲取取決於圖表數(shù)據(jù)的位置的信息時,事情會變得有趣。想像一下,您想精確地繪製列結(jié)束的位置。您可以使用動態(tài)註釋宏$ dataset.0.set.1.Endx和$ dataset.0.set.1.endy確定列端點(diǎn)的x和y坐標(biāo),然後在那裡繪製一些東西。您可以在此FusionCharts文檔頁面上了解有關(guān)註釋以及如何使用它們的更多信息。

          >

          對於我們的圖表,我們將使用動態(tài)註釋宏來獲取每一列的啟動和結(jié)束坐標(biāo),然後我們將繪製各自的公司徽標(biāo)。我們還將使用圖表屬性“ ShowLabels”:“ 0”。 為了實(shí)現(xiàn)上述目標(biāo),請將以下代碼添加到圖表的配置:>

          在上面的代碼中:

          >類型正在設(shè)置註釋的類型。
          <span><span><!DOCTYPE html></span>
          </span><span><span><span><html</span> lang<span>="en"</span>></span>
          </span>  <span><span><span><head</span>></span>
          </span>    <span><span><span><meta</span> charset<span>="UTF-8"</span>></span>
          </span>    <span><span><span><title</span>></span>Angular 2 FusionCharts Demo<span><span></title</span>></span>
          </span>
              <span><!-- 1. Load custom CSS & fonts-->
          </span>    <span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="styles.css"</span>></span>
          </span>    <span><span><span><link</span> href<span>='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300'</span> rel<span>='stylesheet'</span>></span>
          </span>
              <span><!-- 2. Load Angular 2 specific libraries -->
          </span>    <span><span><span><script</span> src<span>="https://code.angularjs.org/2.0.0-beta.17/angular2-polyfills.js"</span>></span><span><span></script</span>></span>
          </span>    <span><span><span><script</span> src<span>="https://code.angularjs.org/2.0.0-beta.17/Rx.umd.js"</span>></span><span><span></script</span>></span>
          </span>    <span><span><span><script</span> src<span>="https://code.angularjs.org/2.0.0-beta.17/angular2-all.umd.dev.js"</span>></span><span><span></script</span>></span>
          </span>
              <span><!-- 3. Load FusionCharts library-->
          </span>    <span><span><span><script</span> src<span>="https://static.fusioncharts.com/code/latest/fusioncharts.js"</span>></span><span><span></script</span>></span>
          </span>
              <span><!-- 4. Load component -->
          </span>    <span><span><span><script</span> src<span>='main.js'</span>></span><span><span></script</span>></span>
          </span>  <span><span><span></head</span>></span>
          </span>  <span><span><span><body</span>></span>
          </span>
              <span><!-- 5. Display the application -->
          </span>    <span><span><span><angular-chart</span>></span>Loading...<span><span></angular-chart</span>></span>
          </span>  <span><span><span></body</span>></span>
          </span><span><span><span></html</span>></span>
          </span>

          URL正在設(shè)置圖像的地址。

          >
            x和y正在設(shè)置圖像的啟動x和y坐標(biāo)。
          • >
          • 添加上述代碼後,您應(yīng)該在X軸上看到公司徽標(biāo)。要了解有關(guān)使用註釋以及其他可能的更多信息,請參閱文檔頁面(如上所述)。
          • >
          • >在數(shù)據(jù)集之間切換
          我們要實(shí)施的最後一件事是允許用戶在幾年之間切換,根據(jù)所選年份(2014或2015年)查看其他數(shù)據(jù)集。

          構(gòu)建數(shù)據(jù)。

          因此,我們需要考慮如何以一種可以在不同年份定義不同數(shù)據(jù)集的方式構(gòu)建數(shù)據(jù)。如前所述,F(xiàn)usionCharts期望配置選項(xiàng)包含數(shù)據(jù)屬性,該選項(xiàng)應(yīng)該是包含一組標(biāo)籤/值對的數(shù)組。

          >處理多個數(shù)據(jù)集的一種方法是定義構(gòu)造函數(shù)頂部的數(shù)據(jù)集對象,並使用別名將其連接到構(gòu)造函數(shù)。

          >

          然後,在配置選項(xiàng)中,我們將其傳遞給FusionCharts構(gòu)造函數(shù),我們可以做:>

          >更新切換上的圖表數(shù)據(jù)

          >我們還希望將圖表與2015年的數(shù)據(jù)一起更新,一旦有人單擊 2015
          <span>(function(chartApp){
          </span>  chartApp<span>.<span>AppComponent</span> = ng.core.<span>Component</span>({
          </span>    <span>selector: 'angular-chart',
          </span>    <span>template: '<div>Chart will render here</div>'
          </span>  <span>}).<span>Class</span>({
          </span>    <span>constructor: function(){}
          </span>  <span>});
          </span>
            <span>document.addEventListener('DOMContentLoaded', function() {
          </span>    ng<span>.platform.browser.bootstrap(chartApp.<span>AppComponent</span>);
          </span>  <span>});
          </span><span>})(window.chartApp || (window.chartApp = {}));
          </span>
          >按鈕,然後切換回顯示2014年的數(shù)據(jù),當(dāng)

          > 2014

          按鈕單擊時。
          <span>new FusionCharts({
          </span>  <span>"type": "column2d",
          </span>  <span>"renderAt": "chart-container",
          </span>  <span>"width": "550",
          </span>  <span>"height": "400",
          </span>  <span>"id": "revenue-chart",
          </span>  <span>"dataFormat": "json",
          </span>  <span>"dataSource": {
          </span>    <span>"chart": {
          </span>      <span>"yAxisName": "Revenue (In USD Billion)",
          </span>      <span>"yAxisMaxValue": "200",
          </span>      <span>...
          </span>    <span>},
          </span>    <span>"data": [{
          </span>      <span>"label": "Amazon",
          </span>      <span>"value": "88.99"
          </span>    <span>}, {
          </span>      <span>"label": "Apple",
          </span>      <span>"value": "182.8"
          </span>    <span>}
          </span>    <span>...
          </span>    <span>]
          </span>  <span>}
          </span><span>});
          </span>

          >讓我們添加兩個按鈕,該按鈕將用於執(zhí)行此操作並給他們一些樣式。修改組件模板如下:

          >
          chartApp<span>.<span>AppComponent</span> = ng.core.<span>Component</span>({
          </span>  <span>selector: 'angular-chart',
          </span>  <span>templateUrl: 'chart.html'
          </span><span>}).<span>Class</span>({
          </span>  <span>...
          </span><span>});
          </span>

          請注意添加事件偵聽器並在Angular 2中添加NGCLASS指令的新語法。它們幾乎與Angular 1相同,沒有一些括號和括號。

          >我已經(jīng)添加了NGCLASS指令,以通過將選定的CSS類應(yīng)用於按鈕元素來突出顯示當(dāng)前所選年。這是基於組件上的SelectedYear屬性,該屬性在單擊按鈕上更新。

          >我們可以將當(dāng)前選定的年度設(shè)置為2014年,當(dāng)組件通過將以下行添加到構(gòu)造函數(shù)的頂部呈現(xiàn):

          >

          <span><span><!DOCTYPE html></span>
          </span><span><span><span><html</span> lang<span>="en"</span>></span>
          </span>  <span><span><span><head</span>></span>
          </span>    <span><span><span><meta</span> charset<span>="UTF-8"</span>></span>
          </span>    <span><span><span><title</span>></span>Angular 2 FusionCharts Demo<span><span></title</span>></span>
          </span>
              <span><!-- 1. Load custom CSS & fonts-->
          </span>    <span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="styles.css"</span>></span>
          </span>    <span><span><span><link</span> href<span>='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300'</span> rel<span>='stylesheet'</span>></span>
          </span>
              <span><!-- 2. Load Angular 2 specific libraries -->
          </span>    <span><span><span><script</span> src<span>="https://code.angularjs.org/2.0.0-beta.17/angular2-polyfills.js"</span>></span><span><span></script</span>></span>
          </span>    <span><span><span><script</span> src<span>="https://code.angularjs.org/2.0.0-beta.17/Rx.umd.js"</span>></span><span><span></script</span>></span>
          </span>    <span><span><span><script</span> src<span>="https://code.angularjs.org/2.0.0-beta.17/angular2-all.umd.dev.js"</span>></span><span><span></script</span>></span>
          </span>
              <span><!-- 3. Load FusionCharts library-->
          </span>    <span><span><span><script</span> src<span>="https://static.fusioncharts.com/code/latest/fusioncharts.js"</span>></span><span><span></script</span>></span>
          </span>
              <span><!-- 4. Load component -->
          </span>    <span><span><span><script</span> src<span>='main.js'</span>></span><span><span></script</span>></span>
          </span>  <span><span><span></head</span>></span>
          </span>  <span><span><span><body</span>></span>
          </span>
              <span><!-- 5. Display the application -->
          </span>    <span><span><span><angular-chart</span>></span>Loading...<span><span></angular-chart</span>></span>
          </span>  <span><span><span></body</span>></span>
          </span><span><span><span></html</span>></span>
          </span>
          處理按鈕點(diǎn)擊的邏輯將添加到新的年齡函數(shù)中。

          為此,我們將使用FusionChart的SetChartData方法,該方法既需要圖表配置選項(xiàng)和實(shí)際圖表數(shù)據(jù)。我們將使用getChartData方法從已經(jīng)渲染的圖表中獲取圖表屬性,而不是先存儲圖表屬性,然後引用它們,並使用getChartData方法並使用特定年份的數(shù)據(jù)來修改該數(shù)據(jù)。

          在為按鈕添加HTML和上述點(diǎn)擊處理程序後,單擊這些按鈕應(yīng)加載該年的數(shù)據(jù)。
          <span>(function(chartApp){
          </span>  chartApp<span>.<span>AppComponent</span> = ng.core.<span>Component</span>({
          </span>    <span>selector: 'angular-chart',
          </span>    <span>template: '<div>Chart will render here</div>'
          </span>  <span>}).<span>Class</span>({
          </span>    <span>constructor: function(){}
          </span>  <span>});
          </span>
            <span>document.addEventListener('DOMContentLoaded', function() {
          </span>    ng<span>.platform.browser.bootstrap(chartApp.<span>AppComponent</span>);
          </span>  <span>});
          </span><span>})(window.chartApp || (window.chartApp = {}));
          </span>
          demo

          這是最後的演示。
          <span>new FusionCharts({
          </span>  <span>"type": "column2d",
          </span>  <span>"renderAt": "chart-container",
          </span>  <span>"width": "550",
          </span>  <span>"height": "400",
          </span>  <span>"id": "revenue-chart",
          </span>  <span>"dataFormat": "json",
          </span>  <span>"dataSource": {
          </span>    <span>"chart": {
          </span>      <span>"yAxisName": "Revenue (In USD Billion)",
          </span>      <span>"yAxisMaxValue": "200",
          </span>      <span>...
          </span>    <span>},
          </span>    <span>"data": [{
          </span>      <span>"label": "Amazon",
          </span>      <span>"value": "88.99"
          </span>    <span>}, {
          </span>      <span>"label": "Apple",
          </span>      <span>"value": "182.8"
          </span>    <span>}
          </span>    <span>...
          </span>    <span>]
          </span>  <span>}
          </span><span>});
          </span>
          >

          加載plunk…

          >您可以在Plunker上查看此演示的代碼?;蛘?,您可以從我們的GitHub存儲庫中下載代碼。

          >

          >如果您單擊“ plunker”,您會發(fā)現(xiàn)我們已直接在config.json文件中定義了數(shù)據(jù)集屬性。這使我們的組件變得更加整潔。

          >我們首先構(gòu)建一個簡單的角圖,然後繼續(xù)使用註釋和其他FusionCharts的API為其添加更多功能。但這只是冰山一角,使用Angular 2和FusionCharts可以完成更多。您可以自己探索的某些事情:

          >

          包括更多圖表:列圖並不總是表示數(shù)據(jù)集的最佳方法。根據(jù)您的用例,您可能需要使用不同的圖表,例如瀑布,雷達(dá),規(guī)格等。因此,請嘗試使用本教程中解釋的過程來繪製其他圖表,看看您是否能夠成功完成。 >

          >

          在您的應(yīng)用程序中包括圖表:如果您要製作混合移動應(yīng)用程序,那麼您必須意識到Ionic 2(最新版本的Ionic)基於Angular 2。這是一個好消息,因?yàn)槟梢允褂帽窘坛桃彩菫槟碾x子應(yīng)用程序創(chuàng)建圖表的基礎(chǔ)。

            >
          • 探索更多事件:在本教程中,我解釋瞭如何使用setChartdata方法,但是您可以使用更多的事件和方法來增強(qiáng)應(yīng)用程序的用戶體驗(yàn)。查看上面的鏈接頁面,以了解有關(guān)FusionCharts提供的各種事件和方法的更多信息。

          >如果您在嘗試自己製作圖表時遇到任何困難,請參閱Angular或FusionCharts的文檔(取決於問題),或者在下面發(fā)表評論。我會很樂意提供幫助!

          經(jīng)常詢問有關(guān)Angular2 FusionCharts中圖表組件的問題

          >如何在Angular2?

          中安裝FusionCharts以在Angular2中安裝FusionCharts,您需要首先通過NPM安裝FusionCharts和Angular FusionCharts。在終端中使用以下命令:>安裝後,Import FusionCharts和Angular FusionCharts進(jìn)入組件文件。然後,將fusionChartSmodule添加到您的ngmodule導(dǎo)入陣列中。

          我可以使用具有角cli的融合式,

          是的,F(xiàn)usionCharts與Angular Cli兼容。通過NPM安裝FusionCharts和Angular FusionCharts之後,您可以將它們導(dǎo)入到Angular CLI項(xiàng)目中。請記住將FusionChartSmodule添加到您的ngmodule導(dǎo)入數(shù)組中。

          如何使用angular2?

          中的FusionCharts創(chuàng)建基本圖表來創(chuàng)建基本圖表來創(chuàng)建基本圖表,您需要首先定義圖表配置中的圖表配置。成分。這包括圖表類型,數(shù)據(jù)源和其他選項(xiàng)。然後,使用模板中的FusionCharts組件呈現(xiàn)圖表。您可以通過修改圖表配置來自定義圖表。

          >我可以使用fusionCharts在Angular2?

          FusionCharts中使用哪些類型的圖表來支持各種圖表類型,包括線條,bar,bar,bar,pie ,區(qū)域,甜甜圈等。您還可以創(chuàng)建高級圖表,例如組合圖表,Zoomline圖表和Treemaps。每種圖表類型都有其自己的配置選項(xiàng),您可以自定義以適合您的需求。

          >如何更新FusionCharts圖表中的數(shù)據(jù)?

          以更新圖表中的數(shù)據(jù),需要修改圖表配置中的數(shù)據(jù)源。當(dāng)數(shù)據(jù)源更改時,F(xiàn)usionCharts將自動更新圖表。您還可以使用setJsondata或setChartdata方法來編程更新數(shù)據(jù)。

          我可以將fusionCharts與typescript 2中的fusionCharts一起使用?您可以將FusionCharts和Angular FusionCharts導(dǎo)入打字稿文件中,並像常規(guī)的JavaScript文件中一樣使用它們。

          >如何處理Angular2中的fusionCharts中的事件2?您可以收聽的事件,例如DataPlotClick,ChartClick和Beforerender。要處理這些事件,您需要在組件中定義事件處理程序,並將其綁定到模板中的FusionCharts組件中。

          >我可以自定義FusionCharts Chart的外觀嗎? FusionCharts提供了廣泛的自定義選項(xiàng)。您可以自定義顏色,字體,邊框,背景等。這些選項(xiàng)可以在圖表配置中設(shè)置。

          >如何導(dǎo)出我的FusionCharts圖表?您可以將圖表導(dǎo)出為圖像,PDF或SVG。要啟用導(dǎo)出,您需要將導(dǎo)出選項(xiàng)設(shè)置為圖表配置中的true。

          >如何通過FusionCharts圖表進(jìn)行調(diào)試問題?

          FusionCharts提供了調(diào)試模式,可登錄有關(guān)詳細(xì)信息的詳細(xì)信息圖表渲染過程。要啟用調(diào)試模式,請?jiān)趫D表配置中將DebugMode選項(xiàng)設(shè)置為true。然後,您可以在瀏覽器的控制臺中查看日誌。

        以上是用Angular 2和FusionCharts構(gòu)建圖表組件的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

        本網(wǎng)站聲明
        本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

        熱AI工具

        Undress AI Tool

        Undress AI Tool

        免費(fèi)脫衣圖片

        Undresser.AI Undress

        Undresser.AI Undress

        人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

        AI Clothes Remover

        AI Clothes Remover

        用於從照片中去除衣服的線上人工智慧工具。

        Clothoff.io

        Clothoff.io

        AI脫衣器

        Video Face Swap

        Video Face Swap

        使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

        熱工具

        記事本++7.3.1

        記事本++7.3.1

        好用且免費(fèi)的程式碼編輯器

        SublimeText3漢化版

        SublimeText3漢化版

        中文版,非常好用

        禪工作室 13.0.1

        禪工作室 13.0.1

        強(qiáng)大的PHP整合開發(fā)環(huán)境

        Dreamweaver CS6

        Dreamweaver CS6

        視覺化網(wǎng)頁開發(fā)工具

        SublimeText3 Mac版

        SublimeText3 Mac版

        神級程式碼編輯軟體(SublimeText3)

        熱門話題

        Laravel 教程
        1597
        29
        PHP教程
        1488
        72
        如何在node.js中提出HTTP請求? 如何在node.js中提出HTTP請求? Jul 13, 2025 am 02:18 AM

        在Node.js中發(fā)起HTTP請求有三種常用方式:使用內(nèi)置模塊、axios和node-fetch。 1.使用內(nèi)置的http/https模塊無需依賴,適合基礎(chǔ)場景,但需手動處理數(shù)據(jù)拼接和錯誤監(jiān)聽,例如用https.get()獲取數(shù)據(jù)或通過.write()發(fā)送POST請求;2.axios是基於Promise的第三方庫,語法簡潔且功能強(qiáng)大,支持async/await、自動JSON轉(zhuǎn)換、攔截器等,推薦用於簡化異步請求操作;3.node-fetch提供類似瀏覽器fetch的風(fēng)格,基於Promise且語法簡單

        JavaScript數(shù)據(jù)類型:原始與參考 JavaScript數(shù)據(jù)類型:原始與參考 Jul 13, 2025 am 02:43 AM

        JavaScript的數(shù)據(jù)類型分為原始類型和引用類型。原始類型包括string、number、boolean、null、undefined和symbol,其值不可變且賦值時復(fù)制副本,因此互不影響;引用類型如對象、數(shù)組和函數(shù)存儲的是內(nèi)存地址,指向同一對象的變量會相互影響。判斷類型可用typeof和instanceof,但需注意typeofnull的歷史問題。理解這兩類差異有助於編寫更穩(wěn)定可靠的代碼。

        React與Angular vs Vue:哪個JS框架最好? React與Angular vs Vue:哪個JS框架最好? Jul 05, 2025 am 02:24 AM

        選哪個JavaScript框架最好?答案是根據(jù)需求選擇最適合的。 1.React靈活自由,適合需要高度定制、團(tuán)隊(duì)有架構(gòu)能力的中大型項(xiàng)目;2.Angular提供完整解決方案,適合企業(yè)級應(yīng)用和長期維護(hù)的大項(xiàng)目;3.Vue上手簡單,適合中小型項(xiàng)目或快速開發(fā)。此外,是否已有技術(shù)棧、團(tuán)隊(duì)規(guī)模、項(xiàng)目生命週期及是否需要SSR也都是選擇框架的重要因素。總之,沒有絕對最好的框架,適合自己需求的就是最佳選擇。

        JavaScript時間對象,某人構(gòu)建了一個eactexe,在Google Chrome上更快的網(wǎng)站等等 JavaScript時間對象,某人構(gòu)建了一個eactexe,在Google Chrome上更快的網(wǎng)站等等 Jul 08, 2025 pm 02:27 PM

        JavaScript開發(fā)者們,大家好!歡迎閱讀本週的JavaScript新聞!本週我們將重點(diǎn)關(guān)注:Oracle與Deno的商標(biāo)糾紛、新的JavaScript時間對象獲得瀏覽器支持、GoogleChrome的更新以及一些強(qiáng)大的開發(fā)者工具。讓我們開始吧! Oracle與Deno的商標(biāo)之爭Oracle試圖註冊“JavaScript”商標(biāo)的舉動引發(fā)爭議。 Node.js和Deno的創(chuàng)建者RyanDahl已提交請願書,要求取消該商標(biāo),他認(rèn)為JavaScript是一個開放標(biāo)準(zhǔn),不應(yīng)由Oracle

        處理諾言:鏈接,錯誤處理和承諾在JavaScript中 處理諾言:鏈接,錯誤處理和承諾在JavaScript中 Jul 08, 2025 am 02:40 AM

        Promise是JavaScript中處理異步操作的核心機(jī)制,理解鍊式調(diào)用、錯誤處理和組合器是掌握其應(yīng)用的關(guān)鍵。 1.鍊式調(diào)用通過.then()返回新Promise實(shí)現(xiàn)異步流程串聯(lián),每個.then()接收上一步結(jié)果並可返回值或Promise;2.錯誤處理應(yīng)統(tǒng)一使用.catch()捕獲異常,避免靜默失敗,並可在catch中返回默認(rèn)值繼續(xù)流程;3.組合器如Promise.all()(全成功才成功)、Promise.race()(首個完成即返回)和Promise.allSettled()(等待所有完成)

        什麼是緩存API?如何與服務(wù)人員使用? 什麼是緩存API?如何與服務(wù)人員使用? Jul 08, 2025 am 02:43 AM

        CacheAPI是瀏覽器提供的一種緩存網(wǎng)絡(luò)請求的工具,常與ServiceWorker配合使用,以提升網(wǎng)站性能和離線體驗(yàn)。 1.它允許開發(fā)者手動存儲如腳本、樣式表、圖片等資源;2.可根據(jù)請求匹配緩存響應(yīng);3.支持刪除特定緩存或清空整個緩存;4.通過ServiceWorker監(jiān)聽fetch事件實(shí)現(xiàn)緩存優(yōu)先或網(wǎng)絡(luò)優(yōu)先等策略;5.常用於離線支持、加快重複訪問速度、預(yù)加載關(guān)鍵資源及後臺更新內(nèi)容;6.使用時需注意緩存版本控制、存儲限制及與HTTP緩存機(jī)制的區(qū)別。

        利用Array.Prototype方法用於JavaScript中的數(shù)據(jù)操作 利用Array.Prototype方法用於JavaScript中的數(shù)據(jù)操作 Jul 06, 2025 am 02:36 AM

        JavaScript數(shù)組內(nèi)置方法如.map()、.filter()和.reduce()可簡化數(shù)據(jù)處理;1).map()用於一對一轉(zhuǎn)換元素生成新數(shù)組;2).filter()按條件篩選元素;3).reduce()用於聚合數(shù)據(jù)為單一值;使用時應(yīng)避免誤用導(dǎo)致副作用或性能問題。

        JS綜述:深入研究JavaScript事件循環(huán) JS綜述:深入研究JavaScript事件循環(huán) Jul 08, 2025 am 02:24 AM

        JavaScript的事件循環(huán)通過協(xié)調(diào)調(diào)用棧、WebAPI和任務(wù)隊(duì)列來管理異步操作。 1.調(diào)用棧執(zhí)行同步代碼,遇到異步任務(wù)時交由WebAPI處理;2.WebAPI在後臺完成任務(wù)後將回調(diào)放入相應(yīng)的隊(duì)列(宏任務(wù)或微任務(wù));3.事件循環(huán)檢查調(diào)用棧是否為空,若為空則從隊(duì)列中取出回調(diào)推入調(diào)用棧執(zhí)行;4.微任務(wù)(如Promise.then)優(yōu)先於宏任務(wù)(如setTimeout)執(zhí)行;5.理解事件循環(huán)有助於避免阻塞主線程並優(yōu)化代碼執(zhí)行順序。

        See all articles