ڈیٹا کی ترسیل کے لیے ڈی3.js
ڈیٹا نظریاتی عمل براو شمار اور انسانی سمجھ کے درمیان خلا کو دوباره ملا کر رکھتا هے ۔ کئی آلات میں سے ڈی3 (data-power)۔js (Condis) ایک نہایت کم درجہ بندی، جاوا اسکرپٹ لیبارٹری کے طور پر خارج ہوتا ہے جو آپ کو نہایت اعلیٰ درجے کے نقشے پر کنٹرول کرنے کے لیے نہایت موزوں معلوماتی لیبارٹری (DM) کی لائبریریوں پر کنٹرول کرنے کے لیے درکار ہے
کورے کنساس آف ڈی3.js
D3 کو مؤثر انداز میں استعمال کرنے کے لیے ضروری ہے کہ آپ اس کے قائم کردہ اصولوں کو سمجھیں: انتخاب، ڈیٹا بونڈ، میزان اور SVG D3 کا انتخاب کریں،DM عناصر کا انتخاب کریں، ان کے لیے ڈیٹا کو ترتیب دیں اور ان پر عمل کریں۔ یہ طریقہ طریقہ طریقہ کار بندی کے ذریعے ظاہر کیا گیا ہے اور ایک سادہ مثال سے مثال سے واضح کیا گیا ہے۔
انتخاب اور ڈیٹا بِنگ
D3 استعمال کرتا ہے عناصر کو نشانہ بنانے کے لیے، پھر ان کے پاس ڈیٹا استعمال کرتا ہے. طریقہ انتخابی مقداروں کے ساتھ ساتھ ساتھ حاصل ہونے والی مقداروں کو بھی شامل کرتا ہے اور طریقہ کار کسی بھی ڈیٹا کے لیے نئے عناصر پیدا کرتا ہے جو ہمہ گیر طور پر ڈیٹا کو حل کرنے کے لیے اختیار کرتا ہے۔
مثال کے طور پر کسی ڈیٹا سیٹ کے لیے دائرے بنانے کے لیے:
const data = [10, 25, 40, 30];
const svg = d3.select("body").append("svg")
.attr("width", 400)
.attr("height", 200);
svg.selectAll("circle")
.data(data)
.enter()
.append("circle")
.attr("cx", (d, i) => i * 100 + 50)
.attr("cy", 100)
.attr("r", d => d)
.attr("fill", "steelblue");
اِس کے علاوہ اَور بھی بہت سے لوگ اِس بات پر یقین رکھتے ہیں کہ وہ خدا کی خدمت کرنے کے لائق نہیں ہیں ۔
Raw data اکثر اوقات ایسے دائرے جن میں کوئی نقشے براہ راست نہیں پائی جاتی، [1] D3 کی پیمائش ایسے پیمانے فراہم کرتا ہے جو ایک ڈومین (data) مقدار (plant settlement) تک)، ، ، [FLT]، [FLT]، پھر 'TLLLCS/TLCS/TLS)، [FLLC:TLCLS]] اور پھر کسی بھی اساساساساساساساساساساساساساساساساساساساساساساساس کی شکل کو استعمال کرتے ہیں : [TLLLLTLTTTTTTTTTTTTTTT])۔
ایک لکیری پیمانے کی مثال:
const xScale = d3.scaleLinear()
.domain([0, d3.max(data)])
.range([0, width]);
const yScale = d3.scaleLinear()
.domain([0, d3.max(data)])
.range([height, 0]);
const xAxis = d3.axisBottom(xScale);
svg.append("g")
.attr("transform", `translate(0, ${height})`)
.call(xAxis);
ڈی3.js کے ساتھ انٹرمیڈیٹنگ کی تعمیر
انٹر نیٹ ورک کے چارٹ کو شروع میں شامل کر نے کے لئے مختلف قسم کی چیزیں بنانے کے لئے مختلف قسم کے واقعات کی مدد کریں ۔ D3 کی مدد سے آپ آلات کو ملا سکتے ہیں ، یو آر ایل ، ڈریم ، فیلڈنگ اور انجینی کو کم رفتار سے شامل کر سکتے ہیں ۔
غلطفہمی اور مایوسی
ٹول کرنٹ پر مکمل ڈیٹا کی مقدار فراہم کرتا ہے ۔
svg.selectAll("rect")
.data(data)
.enter()
.append("rect")
.attr("x", (d, i) => i * 70)
.attr("y", d => height - d * 3)
.attr("width", 50)
.attr("height", d => d * 3)
.attr("fill", "steelblue")
.on("mouseover", function(event, d) {
d3.select(this).attr("fill", "orange");
tooltip.style("display", "block").text(`Value: ${d}`);
})
.on("mousemove", (event) => {
tooltip.style("left", (event.pageX + 10) + "px")
.style("top", (event.pageY - 20) + "px");
})
.on("mouseout", function() {
d3.select(this).attr("fill", "steelblue");
tooltip.style("display", "none");
});
اِس کے علاوہ اُن کا نام بھی اِس بات پر غور کریں کہ اُن کے دل میں کونسی خواہشیں پیدا ہوتی ہیں ۔
بڑے ڈیٹا سیٹ یا وقت کی کمیت کے لیے، جیومنگ اور پننگ صارفین کو دلچسپی کے علاقوں پر توجہ مرکوز رکھنے میں مدد دیتا ہے. D3 برتاؤ کے نظام کو تبدیل کرتا ہے.
const zoom = d3.zoom()
.scaleExtent([1, 10])
.on("zoom", (event) => {
g.attr("transform", event.transform);
});
svg.call(zoom);
حرکی ڈیٹا کی تجدید
interactive system اکثر صفحہ کو پُر کرکے ڈیٹا کو تازہ کرنے کی ضرورت ہوتی ہے. D3 کی تجدیدی طرز کے ضمنی ہینڈل کو شامل کرنا، حل کرنا اور عناصر کو تبدیل کرنا. کلید نئے اعداد و شمار کے ساتھ دوبارہ شامل کرنا اور اضافی حصّے کے لیے استعمال کرنا ہوتا ہے۔
function updateData(newData) {
const circles = svg.selectAll("circle").data(newData);
circles.exit().remove(); // remove old
circles.enter().append("circle") // add new
.merge(circles) // merge with existing
.attr("cx", (d, i) => i * 100 + 50)
.attr("cy", 100)
.attr("r", d => d);
}
ترقی یافتہ ڈی3 ٹیکنک
جغرافیائی اور جغرافیائی امتیاز
D3 میں پیچیدہ چارٹ کے لیے special settlet models for Bounds: ]، نیٹ ورک گراف کے لیے plans طبیعیات، پروجیکٹ ڈیٹا استعمال کرتے ہوئے،
const simulation = d3.forceSimulation(nodes)
.force("link", d3.forceLink(links))
.force("charge", d3.forceManyBody())
.force("center", d3.forceCenter(width / 2, height / 2));
عبوری اور جذباتی
[ فٹنوٹ :19 ]
svg.selectAll("rect")
.data(data)
.enter()
.append("rect")
.attr("x", (d, i) => i * 70)
.attr("y", height)
.attr("width", 50)
.attr("height", 0)
.attr("fill", "steelblue")
.transition()
.duration(800)
.ease(d3.easeBounce)
.attr("y", d => height - d * 3)
.attr("height", d => d * 3);
پروڈکشن- ریڈار ڈی3 کے لئے بہترین مشقیں
پرو فا ئل اِن
بڑے ڈیٹا سیٹوں ( ہزاروں نکات) کے لیے براہ راست DMCLMGLGL کے ذریعے استعمال ہونے والی کانسیس یا [FL] کے ذریعے سے استعمال ہونے والی لائبریریوں کے ساتھ]
ایک نہایت اہم اور مفید
تمام صارفین کی طرف سے انساب کرنا چاہئے [Ts Programs پر ٹیگ، ARIA خصوصیات استعمال کرنا اور اس میں درج متن پر مبنی میز کو بطور خامی کے شامل کرنا.
function resize() {
const width = container.node().getBoundingClientRect().width;
svg.attr("width", width)
.attr("height", width * aspectRatio);
// redraw scales and axes
}
window.addEventListener("resize", resize);
منظم تنظیم
ایک ہی صفحے پر درخواست میں بھی اپنے ڈی3 کوڈ کو مرتب کریں : ڈیٹا کی تیاری کے لئے ایک/ایک/axs/ایک کے لئے، ڈرائنگ کے لئے، اور ایک کے لئے
جدید فریم ورکز کیساتھ انٹرینگ ڈی3
یا [FLT] کے لیے مکمل کنٹرول کے لیے آپ [FLT] کے لیے، انگل اور ویو اپنا انتظام کرتے ہیں تاکہ آپ اب تک(((TL)) کے اندر موجود معلوماتی تناسب سے بچنے کے لیے D3M. استعمال کر سکیں۔
حقیقی-world مثالیں اور کیس استعمال کرتے ہیں۔
D3 اختیارات بہت سے ہائی پروے پروڈیوس کیے گئے منصوبے : [D3 Gallery on Observable[1] [1], stiming choroplths to symption chorplths to communication datas D3 کے لیے استعمال کیا جا سکتا ہے. D3 کے عام طور پر
مثال : ٹولفائیٹ اور بریل کے ساتھ درمیانی کیمیائی تعامل
فرض کریں کہ ایکس ، Y اور دوسرے حساب کے ساتھ 500 نقطوں کا موضوع بنائیں ۔ آپ D3 کے ذریعے رنگوں کے ٹکڑوں کے ساتھ پُر کرکے چکر بنا سکتے ہیں ، ٹولٹپ دکھا سکتے ہیں اور ایک پنسل جو منتخب نکات کو نمایاں کرتی ہے
const brush = d3.brush()
.extent([[0, 0], [width, height]])
.on("brush end", brushed);
svg.append("g").call(brush);
function brushed(event) {
if (event.selection) {
const [[x0, y0], [x1, y1]] = event.selection;
circles.classed("selected", d =>
x0 <= xScale(d.x) && xScale(d.x) <= x1 &&
y0 <= yScale(d.y) && yScale(d.y) <= y1
);
} else {
circles.classed("selected", false);
}
}
وسائل اور اگلے اقدام سیکھنا
ماسٹر ڈی3 سے شروع کرو، اداکار سے شروع کرو [1].js دستاویزات اور پر آزاد کنٹل کامرس[1]].
کُنَّا
ڈی3.js سونے کا معیار رکھے گا دستوری مواصلاتی ڈیٹا نظریاتی نظام کے لیے اس کی ترقی یافتہ زاویہ کو غیر واضح، کارکردگی اور کمیونٹی حمایت سے مربوط کر نے کے ليے اس کا مرکزی تصوروں سے مربوط کر کے