Я попытался выяснить, какие случаи вызывают эту проблему, и после некоторой отладки я заметил, что это происходит, когда у вашего value
есть небольшое число (когда оно меньше, чем около 8-12). Поскольку у вас на графике всего 12 месяцев, это число не изменится, и вы можете проверить его вручную, а затем, например, задать минимальное число 10-15, в зависимости от желаемого расстояния.
Я попытался изменить ваш код, чтобы переменная value
имела минимальное значение 10, когда оно меньше этого, похоже, что оно работает. Я также добавил строку из новой точки в старую, которую вы можете удалить, если вам не нравится.
Код:
////This portion is used to display the month on the pie chart////////////////
value=MaxValue(disease,wounds,other);
value2=-1;
var x2,y2;
if(value<10)
{
value2=value;
value=10;
x2=1500+1500/5+value2*10*cos(startAngle+(radians(15)));
y2=1500/2 -100+value2*10*sin(startAngle+(radians(15)));
}
print(chart.data[i].month+" has value : "+value);
x=1500+1500/5+value*10*cos(startAngle+(radians(15)));
y=1500/2 -100+value*10*sin(startAngle+(radians(15)));
stroke(0);
strokeWeight(5);
point(x,y);
if(value2!=-1)
{
point(x2,y2);
strokeWeight(1);
line(x,y,x2,y2);
}
strokeWeight(0);
textSize(18);
fill(0);
text(chart.data[i].month,x+5,y+5);
Результат: