2017-04-20 3 views
0

Plotly.js를 사용하여 원형 차트를 만들지 만 값 형식을 설정하는 방법을 알 수 없습니다. 내 전화 번호가 19.231이면 19.2가됩니다. 나는 4 자리수의 정밀도로 19.2310을 원한다. 난 당신이 Plotly에서 직접 할 수 없어 알고 지금까지Plotly.js 원형 차트 형식

var data = [{ 
    values: values, 
    labels: labels, 
    type: 'pie', 
    marker: { 
     colors: colors 
    }, 
    textfont: { 
     family: 'Helvetica, sans-serif', 
     size: 48, 
     color: '#000' 
    } 
}]; 
var layout = { 
    height: 1350, 
    width: 1500, 
    title: title, 
    titlefont: { 
     family: 'Helvetica, sans-serif', 
     size: 58, 
     color: '#000' 
    }, 
    legend: { 
     x: 1.1, 
     y: 0.5, 
     size: 40, 
     font: { 
      family: 'Helvetica, sans-serif', 
      size: 48, 
      color: '#000' 
     } 
    } 
}; 
+0

당신은 당신의 가치의 일부는 최소한의 검증 예를 가질 추가 할 수 있습니까? –

+0

사용자 입력에 따라 흐름에서 생성됩니다. 값은 부동 소수점이며 쉼표 뒤에 한 자리로 자동 반올림됩니다. 'var values ​​= [1, 2, 4.6];을 시도하면 – ppablo

+1

이 표시됩니다. 13.1579 %, 26.3158 % 및 60.5263 % 대신 13.2 %, 26.3 % 및 60.5 %를 얻습니다. – ppablo

답변

1

을하지만 당신은 원하는 정확하게 text 값을 추가하고 texttextinfo을 설정할 수 있습니다 : 내 데이터와 레이아웃은 여기에 따릅니다.

var values = [Math.random(), Math.random(), Math.random()]; 
 
var sum = values.reduce(function(pv, cv) { return pv + cv; }, 0); 
 
var digits = 4; 
 
var rounded_values = []; 
 

 
for (var i = 0; i < values.length; i += 1) { 
 
\t rounded_values.push(Math.round(values[i]/sum * 100 * 10**digits)/10**digits + '%'); 
 
} 
 

 
var myPlot = document.getElementById('myPlot'); 
 
var data = [{ 
 
    values: values, 
 
    type: 'pie', 
 
    text: rounded_values, 
 
\t textinfo: 'text' 
 
}]; 
 
Plotly.plot(myPlot, data);
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script> 
 
<div id="myPlot"></div>

+0

감사합니다. – ppablo