如何使用 javascript 创建排序方图

How to create sorted square graph using javascript

我想使用正方形而不是气泡来可视化简单的数据集,例如气泡图。这些方块需要按大小表示数量,并在数量变化时调整大小。它更像是根据大小排序的正方形。我已经阅读了有关 D3 js 的内容,但不知道我是否可以实现这一点。

示例数据集:
标签 A B C D
数量 3 5 8 10

输出应该是这样的;

任何人都可以帮我解决这个问题.. 使用 jquery/javascript 做这个有什么想法吗? 提前谢谢你。

尝试google fonts

this 是您正在寻找的示例: https://jsfiddle.net/b1Law49u/3/

google.load('visualization', '1', {packages: ['corechart', 'bar']});
google.setOnLoadCallback(drawTopX);

function drawTopX() {
      var data = new google.visualization.DataTable();
      data.addColumn('timeofday', 'Time of Day');
      data.addColumn('number', 'Motivation Level');
      data.addColumn('number', 'Energy Level');

      data.addRows([
        [{v: [8, 0, 0], f: '8 am'}, 1, .25],
        [{v: [9, 0, 0], f: '9 am'}, 2, .5],
        [{v: [10, 0, 0], f:'10 am'}, 3, 1],
        [{v: [11, 0, 0], f: '11 am'}, 4, 2.25],
        [{v: [12, 0, 0], f: '12 pm'}, 5, 2.25],
        [{v: [13, 0, 0], f: '1 pm'}, 6, 3],
        [{v: [14, 0, 0], f: '2 pm'}, 7, 4],
        [{v: [15, 0, 0], f: '3 pm'}, 8, 5.25],
        [{v: [16, 0, 0], f: '4 pm'}, 9, 7.5],
        [{v: [17, 0, 0], f: '5 pm'}, 10, 10],
      ]);

      var options = {
        chart: {
          title: 'Motivation and Energy Level Throughout the Day',
          subtitle: 'Based on a scale of 1 to 10'
        },
        axes: {
          x: {
            0: {side: 'top'}
          }
        },
        hAxis: {
          title: 'Time of Day',
          format: 'h:mm a',
          viewWindow: {
            min: [7, 30, 0],
            max: [17, 30, 0]
          }
        },
        vAxis: {
          title: 'Rating (scale of 1-10)'
        }
      };

      var material = new google.charts.Bar(document.getElementById('chart_div'));
      material.draw(data, options);
    }