Jquery 如果切片不适合+,我们是否可以将数据标签设置到切片之外;海图?

Jquery 如果切片不适合+,我们是否可以将数据标签设置到切片之外;海图?,jquery,highcharts,Jquery,Highcharts,我正在使用highchart库,我的问题是,如果slice的值小于5%,它将不适合切片区域,我需要的是,如果该值小于1%,2%,等等,它将从切片的一侧消失,如下URL所示: $(“#图表01”).高图表({ 图表:{ 身高:290, plotBackgroundColor:null, 绘图边框宽度:0, 影子:错, 风格:{ fontFamily:“OpenSansRegular” } }, 标题:{ 正文:“70”, 对齐:'居中', 垂直排列:'中间', y:-25, 风格:{ 字体大小:

我正在使用highchart库,我的问题是,如果slice的值小于5%,它将不适合切片区域,我需要的是,如果该值小于1%,2%,等等,它将从切片的一侧消失,如下URL所示:

$(“#图表01”).高图表({
图表:{
身高:290,
plotBackgroundColor:null,
绘图边框宽度:0,
影子:错,
风格:{
fontFamily:“OpenSansRegular”
}
},
标题:{
正文:“70”,
对齐:'居中',
垂直排列:'中间',
y:-25,
风格:{
字体大小:“40”
}
},
工具提示:{
pointFormat:“{series.name}:{point.percentage:.1f}%”
},
打印选项:{
馅饼:{
数据标签:{
启用:对,
距离:-15,
格式化程序:函数(){
返回此.point.y+“%”;
},
风格:{
//fontWeight:'粗体',
颜色:'白色',
text大纲:false
}
},
showInLegend:对
}
},
图例:{
宽度:345,
身高:150,
项目宽度:172,
项目MarginBottom:5,
labelFormatter:函数(){
var words=this.name.split(/[\s]+/);
var numWordsPerLine=3;
var-str=[];
for(字中的var字){
如果(word>0&&word%numWordsPerLine==0)str.push(“
”); str.push(单词[单词]); } 返回str.join(“”); } }, 系列:[{ 颜色:[“04a15c”、“c038f3”、“5e9bfc”、“f39938”、“7c4ce9”、“e94c6b”], 键入“pie”, 名称:'供应商发票', 内部尺寸:“65%”, 数据:[ ['19草稿',20] ,['10已支付',35] ,['11已提交',4] ,['25正在审查',15] ,['40已批准',10] ,['15拒绝',1] ] }], 响应:{ 规则:[{ 条件:{ 最大宽度:300 }, 图表选项:{ 图例:{ 宽度:255, 项目宽度:125, 对齐:'居中', 垂直排列:“底部”, 布局:“水平” } } }] } });
创建了一支笔,以便您可以检查问题,

在这张图片中,我想1%应该是片外

演示

在图表参数中添加事件加载和重画函数

  chart: {
    height: 290,
    plotBackgroundColor: null,
    plotBorderWidth: 0,
    plotShadow: false,
    style: {
      fontFamily: 'OpenSansRegular'
    },
    events: {
      load: function() {  //when chart is loaded action
        this.series[0].data.map((el) => {
          if (el.y < 2) { //if value is less than 2
            el.dataLabel.attr({
              y: el.dataLabel.y - 25
            });
            el.dataLabel.text.attr({
              style: "color:black"
            });
          }
        })
      },
      redraw: function() { //when chart is redraw or resized action
        this.series[0].data.map((el) => {
          if (el.y < 2) { //if value is less than 2
            el.dataLabel.attr({
              y: el.dataLabel.y - 25
            });
            el.dataLabel.text.attr({
              style: "color:black"
            });
          }
        })
      }
    }
  },
图表:{
身高:290,
plotBackgroundColor:null,
绘图边框宽度:0,
影子:错,
风格:{
fontFamily:“OpenSansRegular”
},
活动:{
load:function(){//当加载图表时执行操作
this.series[0].data.map((el)=>{
如果(el.y<2){//如果值小于2
el.dataLabel.attr({
y:el.dataLabel.y-25
});
el.dataLabel.text.attr({
风格:“颜色:黑色”
});
}
})
},
重画:函数(){//当图表被重画或调整大小时
this.series[0].data.map((el)=>{
如果(el.y<2){//如果值小于2
el.dataLabel.attr({
y:el.dataLabel.y-25
});
el.dataLabel.text.attr({
风格:“颜色:黑色”
});
}
})
}
}
},
更新:

只需要加载事件,它会在值较小时使用datalabels进行更新,结果datalabels从图表中显示出来

  load: function() {
    this.series[0].data.map((el) => {
      if (el.y < 2) {
        el.update({
          dataLabels: {
            distance: 5 //updates with datalabels distance
          }
        })
        el.dataLabel.text.attr({
          style: "color:black"
        });
      }
    })
  },
load:function(){
this.series[0].data.map((el)=>{
如果(标高y<2){
更新({
数据标签:{
距离:5//使用datalabels距离更新
}
})
el.dataLabel.text.attr({
风格:“颜色:黑色”
});
}
})
},
小提琴

演示

在图表参数中添加事件加载和重画函数

  chart: {
    height: 290,
    plotBackgroundColor: null,
    plotBorderWidth: 0,
    plotShadow: false,
    style: {
      fontFamily: 'OpenSansRegular'
    },
    events: {
      load: function() {  //when chart is loaded action
        this.series[0].data.map((el) => {
          if (el.y < 2) { //if value is less than 2
            el.dataLabel.attr({
              y: el.dataLabel.y - 25
            });
            el.dataLabel.text.attr({
              style: "color:black"
            });
          }
        })
      },
      redraw: function() { //when chart is redraw or resized action
        this.series[0].data.map((el) => {
          if (el.y < 2) { //if value is less than 2
            el.dataLabel.attr({
              y: el.dataLabel.y - 25
            });
            el.dataLabel.text.attr({
              style: "color:black"
            });
          }
        })
      }
    }
  },
图表:{
身高:290,
plotBackgroundColor:null,
绘图边框宽度:0,
影子:错,
风格:{
fontFamily:“OpenSansRegular”
},
活动:{
load:function(){//当加载图表时执行操作
this.series[0].data.map((el)=>{
如果(el.y<2){//如果值小于2
el.dataLabel.attr({
y:el.dataLabel.y-25
});
el.dataLabel.text.attr({
风格:“颜色:黑色”
});
}
})
},
重画:函数(){//当图表被重画或调整大小时
this.series[0].data.map((el)=>{
如果(el.y<2){//如果值小于2
el.dataLabel.attr({
y:el.dataLabel.y-25
});
el.dataLabel.text.attr({
风格:“颜色:黑色”
});
}
})
}
}
},
更新:

只需要加载事件,它会在值较小时使用datalabels进行更新,结果datalabels从图表中显示出来

  load: function() {
    this.series[0].data.map((el) => {
      if (el.y < 2) {
        el.update({
          dataLabels: {
            distance: 5 //updates with datalabels distance
          }
        })
        el.dataLabel.text.attr({
          style: "color:black"
        });
      }
    })
  },
load:function(){
this.series[0].data.map((el)=>{
如果(标高y<2){
更新({
数据标签:{
距离:5//使用datalabels距离更新
}
})
el.dataLabel.text.attr({
风格:“颜色:黑色”
});
}
})
},

fiddle

寻求调试帮助的问题应包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。寻求调试帮助的问题应包括所需的行为、特定问题或错误以及