【问题标题】:Anychart tagCloud scaleAnychart标签云规模
【发布时间】:2020-03-18 07:19:43
【问题描述】:

我正在用 HTML 开发一个简单的网站,我需要添加一个 tagCloud 图表。我不明白如何设置比例方法。在文档中解释了使用 anychart.scales.log() 但我需要一个图表,您可以在其中查看一个单位是否具有更高的频率,但同时我需要频率较低的单位不是不可见的。在我的例子中,对数方法使所有数据的大小几乎相同。

    anychart.onDocumentReady(function() {

      var data = [
        {"x": "CompanyNameLTD", "value": 10000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 1000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 100, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 5000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 1000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 8000, category: "Seller"},
        {"x": "CompanyNameLTD", "value": 4000, category: "Seller"},
        {"x": "CompanyNameLTD", "value": 1000, category: "Phone"},
        {"x": "CompanyNameLTD", "value": 10000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 1000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 100, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 5000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 1000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 4000, category: "Seller"},
        {"x": "CompanyNameLTD", "value": 4000, category: "Seller"},
        {"x": "CompanyNameLTD", "value": 1000, category: "Phone"},
        {"x": "CompanyNameLTD", "value": 10000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 1000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 100, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 5000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 1000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 8000, category: "Seller"},
        {"x": "CompanyNameLTD", "value": 4000, category: "Seller"},
        {"x": "CompanyNameLTD", "value": 1000, category: "Phone"},
        {"x": "CompanyNameLTD", "value": 10000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 1000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 1000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 5000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 1000, category: "Technology"},
        {"x": "CompanyNameLTD", "value": 4000, category: "Seller"},
        {"x": "CompanyNameLTD", "value": 4000, category: "Seller"},
        {"x": "CompanyNameLTD", "value": 1000, category: "Phone"}
      ];

      var chart = anychart.tagCloud(data);
      
      var tooltip = chart.tooltip();
      
      chart.tooltip().useHtml(true);
      
      tooltip.positionMode("point");
      
      tooltip.format("Goal: <b>{%value}");
      
      chart.angles([0])
      
      chart.container("wordCloudChart");
      
      chart.listen("pointClick", function(e){
         var url = "https://en.wikipedia.org/wiki/" + e.point.get("x");
         window.open(url, "_blank");
      });

      chart.background().fill({
      keys: ["#2a2a2a", "#2a2a2a", "#2a2a2a"],
      angle: 130,
      });

      chart.scale(anychart.scales.log());

      chart.draw();
    });

这是有和没有

谁知道有没有更好的办法?

【问题讨论】:

    标签: javascript html charts anychart tag-cloud


    【解决方案1】:

    对于您提供的数据,我们建议使用默认的线性比例(只是不应用对数比例)。当最大值大于最小值 x1000 甚至更多时,对数刻度适用。 您的数据范围在 100 到 10 000 之间,在这种情况下,对数比例会大大压缩数据范围。

    【讨论】:

    • 所以你建议类似的东西? chart.scale(anychart.scales.linear());或者我需要设置一些不同的东西?谢谢。
    • 不,只需从您的代码中删除行 chart.scale(anychart.scales.log()); 即可。它将应用线性比例作为默认比例。
    • 还有其他情况吗?也许数据范围可以改变
    • 如果您期望新数据更适合对数刻度,您可以检查传入的数据范围并即时切换刻度类型。
    猜你喜欢
    • 2021-12-31
    • 1970-01-01
    • 2020-09-06
    • 2023-02-15
    • 2023-03-08
    • 2022-12-23
    • 1970-01-01
    • 2023-02-16
    • 2019-06-20
    相关资源
    最近更新 更多