Bu çörek grafiğiyle biraz uğraştım, ancak en boy oranı/viewbox yöntemini kullanarak sadece görüntülemiyor.Duyarlı Donut Grafiği d3
Bunu bir pencere yeniden boyutlandırma işleviyle çalışıyorum, ancak bir hata var - kapsayıcı daraltılabildiğinden hatalı olarak yeniden boyutlandırabilir. Bu konuda çalışabilir miyim, ama yorumlanmış kod ile çalışmak için bu konuda herhangi bir ipucu?
Gerçekleşecek olan şey, orijinal pencere boyutuna bağlı olarak, grafiğin boyutuna göre boyutlara sahip olmasıdır. Bu, pencerenin başlangıçta yanlış boyutta olmasının gözükmesine neden olabilir.
https://jsfiddle.net/7rgf09x1/9/
// WORK IN PROGRESS: Responsive using only d3.
// var svg = d3.select('#revenue-chart').append('svg')
// .attr('id', 'revenue-chart-render')
// .attr("width", '100%')
// .attr("height", '100%')
// .attr('viewBox','0 0 '+Math.min(width,height)+' '+Math.min(width,height))
// .attr('preserveAspectRatio','xMinYMin')
// .attr("transform", "translate(" + Math.min(width,height)/2 + "," + Math.min(width,height)/2 + ")");
vermelidir, ancak bir sorun hala var: polyfill hatları hala berbat. Büyük boyutlarda, bu grafik iyi görünür (IE, grafik bir mobil ekran boyutuna küçüldüğünde). Ancak, çokdüzlemeli satırlar metinle iyi ölçeklenmez (metin taşınır, ancak çokdüzlemeli çizgiler aynı kalır). Bu, belirli bir boyutta başlıyorsa, düzgün bir şekilde (ve uygun şekilde) ortaya çıkar. Belki de bunu kullanabileceğim bir yol var .. – Tulun
Normalde, grafik oluşturmak için başlangıç konteyner boyutunu kullanıyorum. olması gerektiği gibi sadece güzel bir başlangıç boyutunu seçerseniz, viewbow/boy oranı özellikleri ile kombine Bu durumda , (benim durumumda, ~ 780-820 genişlik), ne olursa olsun geçerli pencere boyutu, bakacağız. – Tulun