글쎄 우선 내가 요구 사항을 충족시키기 위해 데이터를 퍼지하는 데 데이터를 "수정하는"것은 아닙니다.
기본적으로 해당 비율의 조각을 클릭 할 수있는 최소 비율이 있으며 모든 조각을이 크기 이상으로 가져와야합니다.
물론 이것은 가장 극단적 인 예제에서는 작동하지 않습니다. 만약 당신이 100,000 개의 슬라이스를 가지고 있다면, 당신이 어떻게 스케일링했는지에 관계없이, 그들 중 일부는 너무 작을 것입니다.
또한 아주 작은 조각을 확장하면 다른 큰 조각 사이의 비율이 어떻게 떨어지는 지 알고 있어야합니다.
하지만 - 그것은 무엇인가 등이 될 수있는 일을 매우 원유 방법 ...
var minPC = 0.5 , // the minimum %age slice visible
total; // total should be set to the sum of the values of all your slices
var minValue = total/100 * minPC; // The smallest value visible (given the current total)
for (var slice in slices) { //assuming slices is a standard JS 'array'
if (slices[slice] < minValue) slices[slice] = minValue;
}
과정의 총을 증가이 뜻을 같이 큰 조각 차례로을 - 의미 그 작은 조각 여전히 것은 보이는 최소 비율보다 작아야합니다. 이 문제를 해결하려면 충분히 minPC
을 만들어야합니다. 물론이 작은 효과가 더 작은 조각 일수록 더 나 빠지게됩니다. 큰 조각을 다시 스케일링 할 수 있다고 설명 할 수 있습니다.
그러나 나는 슬라이스를 '켜고 끄기'또는 '폭발'을 선택하여 데이터와 상호 작용하는 더 나은 방법을 찾을 것을 권합니다.
이것이 제가 취할 접근법입니다. 데이터 요소가 항상 3 이하가되면 "수정"비율이 가장 좋은 방법 인 것 같습니다. 고맙습니다. –
예 - 항상 작은 조각으로 작업하게 될 것이라 확신한다면 받아 들일 만합니다. 데이터 표현에 대한 흥미로운 질문 - 때로는 파이 차트가 제대로 작동하지 않습니다. 로그 스케일 된 슬라이스가 꽤 혼란 스러울 수도 있습니다 :) –