Chuyển đến nội dung chính

AnyChart: AnyChart là gì? - Day 1

Giới thiệu

AnyChart là một thư viện JavaScript mạnh mẽ và linh hoạt để tạo biểu đồ trực quan và tương tác cho các ứng dụng web. Thư viện cung cấp nhiều loại biểu đồ khác nhau, bao gồm Pie and Donut , Column , Bar , Line , Scatter , Cherry , Area , Range Column , Win/Loss Sparklines , Pareto Charts, v.v. AnyChart cũng hỗ trợ nhiều tính năng nâng cao như chú thích, tương tác, xuất biểu đồ sang các định dạng hình ảnh khác nhau, v.v.

Homepage: https://www.anychart.com/ 

Bài viết này sẽ hướng dẫn bạn cách cài đặt và sử dụng AnyChart, đồng thời cung cấp một số ví dụ cơ bản để giúp bạn bắt đầu. 

Cài đặt

Để tạo 1 chart đầu tiên, bạn cần thêm thư viện anychart:
<script src="https://cdn.anychart.com/releases/8.12.1/js/anychart-base.min.js" type="text/javascript"></script>
Khai báo 1 container element để chứa chart cần render
<div id="container" style="width: 500px; height: 400px;"></div>
Đoạn code HTML hoàn chỉnh như sau:
<!doctype html>
<html>
  <head>
     <script src="https://cdn.anychart.com/releases/8.12.1/js/anychart-base.min.js" type="text/javascript"></script>
    <link rel="stylesheet" href="lib/style.css">
    <script src="lib/script.js"></script>
  </head>

  <body>
    <h1>Hello Plunker!</h1>
    <div id="container" style="width: 500px; height: 400px;"></div>
  </body>
</html>
Thêm đoạn code hiển thị Pie chart vào file script.js
anychart.onDocumentLoad(function () {
    // create an instance of a pie chart
    var chart = anychart.pie();
    // set the data
    chart.data([
      ["Chocolate", 5],
      ["Rhubarb compote", 2],
      ["Crêpe Suzette", 2],
      ["American blueberry", 2],
      ["Buttermilk", 1]
    ]);
    // set chart title
    chart.title("Top 5 pancake fillings");
    // set the container element 
    chart.container("container");
    // initiate chart display
    chart.draw();
  });

Giải thích

Pie chart yêu cầu thư viện Core, Pie, và Doughnut modules

<script src="https://cdn.anychart.com/releases/8.12.1/js/anychart-core.min.js"></script>
<script src="https://cdn.anychart.com/releases/8.12.1/js/anychart-pie.min.js"></script>
Ngoài ra, bạn có thể sử dụng Base module, đã bao gồm 2 thư viện trên
<script src="https://cdn.anychart.com/releases/8.12.1/js/anychart-base.min.js"></script>

Hàm anychart.onDocumentLoad được gọi khi toàn bộ trang được tải, bao gồm images, CSS, scripts, .... (AnyChart OnDocumentLoad)

var chart = anychart.pie();: Tạo một biểu đồ hình tròn mới bằng cách gọi hàm anychart.pie(). Biến chart sẽ lưu trữ biểu đồ này để bạn có thể tùy chỉnh nó sau này.

Dữ liệu cho biểu đồ được thiết lập bằng cách sử dụng hàm chart.data()

[]: Mảng chứa dữ liệu cho biểu đồ. Mỗi phần tử trong mảng là một mảng con chứa tên và giá trị của một điểm dữ liệu.

chart.title("Top 5 pancake fillings");: Dòng này đặt tiêu đề cho biểu đồ

chart.container("container");: Dòng này thiết lập vùng chứa cho biểu đồ

chart.draw();: vẽ biểu đồ

Kết quả: https://run.plnkr.co/preview/clwbzpm7700062a6s2vu3nj4p/

Column Chart

Dưới đây là ví dụ về Column Chart
anychart.onDocumentLoad(function() {
  // create a chart and set the data
  var chart = anychart.column([
    ["Winter", 2],
    ["Spring", 7],
    ["Summer", 6],
    ["Fall", 10]
  ]);
  // set chart title
  chart.title("AnyChart Basic Sample");
  // set chart container and draw
  chart.container("container").draw();
});

Giải thích

Tương tự như Pie Chart, Column chart yêu cầu thư viện Core, asic Cartesian modules

<script src="https://cdn.anychart.com/releases/8.12.1/js/anychart-core.min.js"></script>
<script src="https://cdn.anychart.com/releases/8.12.1/js/anychart-cartesian.min.js"></script>
Ngoài ra, bạn có thể sử dụng Base module, đã bao gồm 2 thư viện trên
<script src="https://cdn.anychart.com/releases/8.12.1/js/anychart-base.min.js"></script>

Hàm anychart.column() được sử dụng để tạo biểu đồ cột. Hàm này nhận một mảng dữ liệu làm đối số.

Array data được cung cấp trong ngoặc vuông [].

Cú pháp
Data Fields: x, value

Mỗi phần tử trong mảng là một mảng con chứa hai giá trị:

  • Giá trị đầu tiên: Là tên của danh mục (ví dụ: "Winter", "Spring", "Summer", "Fall").
  • Giá trị thứ hai: Là giá trị số cho danh mục đó (ví dụ: 2, 7, 6, 10).
Tham khảo thêm tại https://docs.anychart.com/Basic_Charts/Column_Chart

Line Chart

Bên cạnh cách sử dụng mảng các mảng (array of arrays), AnyChart còn cho phép thiết lập dữ liệu biểu đồ đường (line chart) thông qua mảng các object. 

Ưu điểm của phương pháp này là: 

  • Dễ dàng đọc, hiểu và định dạng dữ liệu. 
  • Cho phép cấu hình từng điểm dữ liệu riêng lẻ.
anychart.onDocumentLoad(function() { 
  // create a chart and set the data
  // as Array of Objects 
  var chart = anychart.line([
    {x: "Winter", value: 5},
    {x: "Spring", value: 9, marker: {enabled: true, type: "star5", fill: "Gold"}},
    {x: "Summer", value: 7},
    {x: "Fall",   value: 1}
  ]);
  chart.title("AnyChart: Array of Objects");  
  chart.container("container").draw();
});

Multiseries Chart

Line Chart

Multiple Series Charts) là loại biểu đồ trong AnyChart cho phép hiển thị nhiều tập dữ liệu khác nhau trên cùng một biểu đồ. Điều này giúp so sánh trực quan các giá trị của nhiều biến hoặc nhóm dữ liệu khác nhau.


anychart.onDocumentLoad(function() {
  // create a chart and set the data
  // as Array of Arrays
  var chart = anychart.line()
  chart.data({header: ["#", "Euro (€)", "USD ($)", "Pound (£)"],
   rows:[
    ["Winter", 5, 7, 4],
    ["Spring", 7, 9, 6],
    ["Summer", 9, 12, 8],
    ["Fall", 12, 15, 9]
  ]});
  chart.title("AnyChart: Multi-Series Array of Arrays");
  chart.legend(true);
  chart.container("container").draw();
});
Bạn cần thêm đoạn CSS sau để chỉnh width và height cho chart
*{
  margin: 0;
  padding: 0;
}

body, html, #container{
  width: 100%;  
  height:100%;
}
Demo: Bạn có thể dùng Array Of Object thay cho array 1 chiều


anychart.onDocumentLoad(function() {
  // create a chart and set the data
  // as Array of Arrays
  var chart = anychart.line()
   chart.data({header: ["#", "Euro (€)", "USD ($)", "Pound (£)"],
   rows:[
    {x: "Winter", usd: 5, eur: 7, pound: 4},
    {x: "Spring", usd: 7, eur: 9, pound: 6},
    {x: "Summer", usd: 9, eur: 12, pound: 8},
    {x: "Fall",   usd: 12, eur: 15, pound: 9}
  ]});
  chart.title("AnyChart: Multi-Series Array of Arrays");
  chart.legend(true);
  chart.container("container").draw();
});

Tham khảo

https://www.sitepoint.com/getting-started-anychart-examples/

Nhận xét

Bài đăng phổ biến từ blog này

[ASP.NET MVC] Authentication và Authorize

Một trong những vấn đề bảo mật cơ bản nhất là đảm bảo những người dùng hợp lệ truy cập vào hệ thống. ASP.NET đưa ra 2 khái niệm: Authentication và Authorize Authentication xác nhận bạn là ai. Ví dụ: Bạn có thể đăng nhập vào hệ thống bằng username và password hoặc bằng ssh. Authorization xác nhận những gì bạn có thể làm. Ví dụ: Bạn được phép truy cập vào website, đăng thông tin lên diễn đàn nhưng bạn không được phép truy cập vào trang mod và admin.

ASP.NET MVC: Cơ bản về Validation

Validation (chứng thực) là một tính năng quan trọng trong ASP.NET MVC và được phát triển trong một thời gian dài. Validation vắng mặt trong phiên bản đầu tiên của asp.net mvc và thật khó để tích hợp 1 framework validation của một bên thứ 3 vì không có khả năng mở rộng. ASP.NET MVC2 đã hỗ trợ framework validation do Microsoft phát triển, tên là Data Annotations. Và trong phiên bản 3, framework validation đã hỗ trợ tốt hơn việc xác thực phía máy khách, và đây là một xu hướng của việc phát triển ứng dụng web ngày nay.

Tổng hợp một số kiến thức lập trình về Amibroker

Giới thiệu về Amibroker Amibroker theo developer Tomasz Janeczko được xây dựng dựa trên ngôn ngữ C. Vì vậy bộ code Amibroker Formula Language sử dụng có syntax khá tương đồng với C, ví dụ như câu lệnh #include để import hay cách gói các object, hàm trong các block {} và kết thúc câu lệnh bằng dấu “;”. AFL trong Amibroker là ngôn ngữ xử lý mảng (an array processing language). Nó hoạt động dựa trên các mảng (các dòng/vector) số liệu, khá giống với cách hoạt động của spreadsheet trên excel.