翻譯|使用教程|編輯:吳園園|2020-03-17 14:18:29.730|閱讀 256 次
概述:正確完成信息圖表后,信息圖表就會脫離“標準”圖表的框,以更具視覺吸引力的方式告訴數據故事。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Highcharts是一款純JavaScript編寫的圖表庫,為你的Web網站、Web應用程序提供直觀、交互式圖表。當前支持折線、曲線、區域、區域曲線圖、柱形圖、條形圖、餅圖、散點圖、角度測量圖、區域排列圖、區域曲線排列圖、柱形排列圖、極坐標圖等幾十種圖表類型。
正確完成信息圖表后,信息圖表就會脫離“標準”圖表的框,以更具視覺吸引力的方式告訴數據故事。在當今時代,大多數信息圖表都是靜態圖像。但是,如果您想吸引在線觀眾,為什么不使用交互式信息圖呢?
在本教程中,我將向您展示如何使用Highcharts構建交互式信息圖。該圖表的主題是對美洲杯和2016年歐洲杯的比較。這些數字是根據此處的“標準”靜態信息圖改編而成的。
備注
強烈建議您了解Javascript,Node.js,expressJS和MongoDB的基礎知識,以了解應用程序代碼。
我將首先介紹該體系結構。然后我將解釋代碼。
架構
基本上,該項目是將靜態和動態數據集結合起來,以創建更具吸引力的信息圖。數據是:
鍵號存儲在項目文件中,而測驗結果則保存到數據庫(MongoDB)中,然后通過服務器讀取以進行可視化。
我們檢查架構的每個部分。
數據庫
測驗結果保存在MongoDB中。此應用程序中有兩個測驗:
備注
MongoDB在構建JavaScript應用程序時易于使用,因為它本地存儲JSON。當然,您可以自由使用適合您的任何其他數據庫或服務。
這是保存在數據庫中的數據的結構:
1、第一次測驗{ "name": "hostPolls", "answers": [ 96, 44, 49, 49 ] }
2、第二次測驗
{ "name": "playerPolls", "answers": [ 32, 9, 2, 27, 6, 9 ] }用戶界面
用戶界面非常簡單明了。它有13頁(或屏幕,因為它是單頁應用程序)。每個頁面顯示:有關這兩個事件的一個主鍵號。
1、測驗
2、測驗的結果
所有頁面都有兩個按鈕可以轉到下一頁或上一頁。
頁面在此文件夾下:src/pages
為了更好地組織頁面并簡化以后的維護,每個頁面都有自己的文件夾,其中一個文件包含可視化的數據和內容,另一個文件包含HTML代碼。
例如,宿主頁文件夾具有以下文件:
我使用jQuery對服務器執行Ajax請求。但是,任何其他庫或框架也可以正常工作。與管理請求有關的文件位于utils文件夾下。
有兩個請求postPoll和getPoll:
import ajax from './ajax.js'; export function postPoll(route, answers) { return ajax('POST', route, JSON.stringify(answers)); } export function getPoll(route) { return ajax('GET', route); }ajax方法在文件中:ajax.js
$.ajax({ type: type, url: url + route, dataType: 'json', data: data, contentType: 'application/json', success: function(result) { resolve(result); }, error: function(error) { reject(error); } });服務器
服務器的主要任務是保存測驗數據并從數據庫中檢索它們。
我使用帶有以下模塊的Node.js構建了服務器:
備注
確保使用文件保護您的憑據config.json
{ "dbCredentials":{ "DBlogin" : "myLogin", "DBpwd" : "letMeIn" }, "BLink" : "myLinkTo/infographic" }
服務器提供四個路由:
一旦創建了應用程序的所有組件,您要做的就是找到一個Web服務來托管該應用程序。我使用在線云Web服務AmazonAWS,但是任何其他服務都可以完成這項工作。請注意該文件以在AWS lambda上運行應用程序。該文件的代碼非常基本:lambda.js
const awsServerlessExpress = require('aws-serverless-express'); const app = require('./lib/app'); const server = awsServerlessExpress.createServer(app); exports.handler = (event, context) => { return awsServerlessExpress.proxy(server, event, context); };
就是這樣,就這么簡單。現在您知道了如何使用Highcharts構建響應式交互式信息圖,而所有這些都無需框架。
隨時與您分享圖表和Highcharts的經驗,如果您有任何疑問或評論,請使用下面的評論部分告訴我。
想要購買Highcharts正版授權的朋友可以本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: