当前位置: 首页 > 知识库问答 >
问题:

Chart.js-如何从ZeroLine抵消条

聂溪叠
2023-03-14

我已经花了几个小时试图弄清楚如何将水平条与X轴上的零线偏移,这样当线的宽度大于1时,它就不会重叠。

感谢所有的帮助。

示例在CodePen上(希望它会出现):https://codepen.io/RomanKl/pen/mzmegG

var barOptions = {
tooltips: {
    enabled: false
},
hover :{
    animationDuration:0
},
scales: {
    xAxes: [{
        ticks: {
            beginAtZero:true,
          min: 0,
          max: 10000,
            fontFamily: "'Open Sans Bold', sans-serif",
            fontSize:12,
          callback: function(value, index, values) {
                    return Math.round(value/1000) + 'k';
          }
        },
        scaleLabel:{
            display:false
        },
        gridLines: {
          color: ['#000', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef'],
          lineWidth: [4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
          zeroLineWidth: 4,
          zeroLineColor: '#000',

        }, 
    }],
    yAxes: [{
        gridLines: {
          display: false,
        },
        ticks: {
            fontFamily: "'Open Sans Bold', sans-serif",
            fontSize:14,
        },

    }]
},
legend:{
    display:false
},

animation: {
    onComplete: function () {
        var chartInstance = this.chart;
        var ctx = chartInstance.ctx;
        ctx.textAlign = "left";
        ctx.font = "1.6rem Open Sans";
        ctx.fillStyle = "#fff";

        Chart.helpers.each(this.data.datasets.forEach(function (dataset, i) {
            var meta = chartInstance.controller.getDatasetMeta(i);
            Chart.helpers.each(meta.data.forEach(function (bar, index) {
                data = dataset.data[index];
              data = data.toFixed(0).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
                if(i==0){
                    ctx.fillText(data, 80, bar._model.y+4);
                } else {
                    ctx.fillText(data, bar._model.x-25, bar._model.y+4);
                }
            }),this)
        }),this);
    }
},

};

var CTX = document . getelementbyid(" chart 1 ");

var myChart = 新图表(ctx, { 类型: “水平栏”, 边框跳过: “底部”, 数据: { 标签: [“8 月 17日”, “8 月 18 日”],

    datasets: [{
        data: [6336, 6892],
        backgroundColor: "rgba(63,103,126,1)",
        hoverBackgroundColor: "rgba(50,90,100,1)"
    }]
},

options: barOptions,

});

共有1个答案

黄查猛
2023-03-14

所以我最后残忍地黑了它。我尝试过添加边框,然后跳过所有地方,除了将颜色设置为透明的开始,但猜猜怎么着?边界在开始时不显示。这是一个请求的功能,尚未在图表中实现。js截至发帖时。

最后,我使用了一个邪恶的解决方案,使用两个堆叠的数据集,同时通过数据将第一个设置为所需的偏移量,然后通过插件将背景颜色设置为透明并将数据标签向左移动。

你可以在问题中发布的codepen链接中看到结果。

 类似资料:
  • 如果我不想使用自动通信模式,sping提供了另一种方法。 spring kafkfa/#提交补偿为我们提供了以下关于提交补偿的信息: -当侦听器在处理记录后返回时提交偏移量 -处理poll()返回的所有记录后提交偏移量 -当poll()返回的所有记录都已被处理时,只要超过自上次提交以来的确认时间,就提交偏移量 -当poll()返回的所有记录都已被处理时,只要自上次提交以来已收到ackCount记录

  • 具有特定组id的使用者连接到代理,监听主题不到1分钟,然后断开连接(根据业务逻辑)。当它监听主题时,它可以使用一些消息。当同一个使用者重复这个动作时,它会使用相同的消息! 我发现Kafka用间隔1分钟保存偏移。这意味着消费者必须听超过1分钟的主题。我怎样才能缩短这个间隔? 我发现了这样的属性: null null

  • 我们在Kubernetes中基于<code>gcr.io/google_containers/Kubernetes-Kafka:1.0-10.2.1</code>docker映像运行一个Kafka集群,使用<code>gcr.io/google_containers/Kubernetes-zookeeper:1.0-3.4.10</code>,使用三个Kafka和zookeer实例。 我们有几个不

  • 我们有一个非常简单的Kafka Consumer(v 2.6.2)。它是使用者组中唯一的使用者,并且该组是唯一一个阅读主题的组(有6个分区,其中有大约300万个事件)。Broker也是2.6.x版本 由于我们需要实现一个“只有一次”的场景,我们深入研究了一下,如果我们真的只使用一次写入主题的每个事件。不幸的是,我们发现:消费者有时会跳过一个偏移量,有时甚至会跳过一组分区的偏移量。 消费者除了记录之

  • 在一个消费者群体中的所有消费者都失败后,kafka会将该消费者群体的补偿存储多长时间?是否有此配置变量?

  • 在Kafka中创建主题后,您可以创建任意数量的消费者组,只需尝试使用这些组来阅读主题。 我想创建一个额外的消费者组来监控真实消费者组的消息内容——一个用来偷看他们消息的组。因此,GUI会让您单击任何消费者组的“偷看”,“偷看”组的偏移量将更新为被监控组的偏移量,然后它会向您显示该偏移量中的消息。 不过我很困惑,因为你不能在第一次就明确地创建一个消费者群体。您似乎必须阅读一条消息才能获得在动物园管理