Table of Contents
ডাটা ভিশুয়ালাইজেশনের জন্য D3.js
তথ্য কল্পনা করুন যোজিত নম্বর এবং মানব বোধগম্যতার মাঝে বিভিন্ন যন্ত্র বিদ্যমান, ডি. ৩. ৩ (D.3) এর মধ্যে রয়েছে তথ্য, তথ্য-চিত্রাদিল-প্রজেক্ট, বি-ডিএন ডকুমেন্টারী, নিম্ন- লেভেল লাইব্রেরীর (WDO) লাইব্রেরি, যা সহজে নিয়ন্ত্রণ করতে পারে এমন একটি উপাত্তের মাধ্যমে যা সহজে সহজে নিয়ন্ত্রণ করতে পারে না, যা সহজে সহজে সহজে তথ্যকে নিয়ন্ত্রণ করতে পারে, যাতে এর জন্য বিভিন্ন ধরনের উপাত্তের নকশা এবং তথ্যকে নিয়ন্ত্রণ করতে পারে।
৩ এর কোসেপ্ট
র্যাপিং ডি৩ ব্যবহার করতে হলে, আপনাকে অবশ্যই তার ভিত্তিগত নীতি বুঝতে হবে: নির্বাচন, মৌলিক নীতি, উপাত্তের বাইন্ডিং, পরিবর্তন, তাদের প্রতি বাধ্যতা, তথ্য সংক্রান্ত তথ্য বাছাই, এবং রূপান্তরের প্রক্রিয়া বেছে নিতে হবে । এই বিন্যাসটি চেইন পদ্ধতিতে প্রকাশ করা হয় এবং এর মাধ্যমে সবচেয়ে সহজ উদাহরণ।
নির্বাচনের তথ্য ও তথ্য বাইন্ডিং
D3CT নির্বাচন দ্বারা লক্ষ্যবস্তুতে পরিণত হয়, তারপর সেগুলির মধ্যে তথ্য সংযুক্ত করা হয় ।[FFLT], নির্বাচিত নোডের সাথে একটি অংশের একটি অ্যারের মধ্যে যোগ দেয় এবং [FFOL] প্রদত্ত তথ্যের জন্য নতুন উপাদান তৈরি করে এমন একটি তথ্য বিশিষ্ট বস্তু তৈরি করুন যা একটি প্রদত্ত তথ্য না - DODM দ্বারা নির্দিষ্ট মানের জন্য নতুন বস্তু তৈরি করা যাবে ।
উদাহরণস্বরূপ, তথ্যসেটের জন্য বৃত্ত তৈরি করা যেতে পারে:
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 তথ্য প্রায়শ:ই মৌলিক স্থানাংকের সীমা নির্ধারণ করে যা মৌলিক স্থানাংকের জন্য সরাসরি মানচিত্র বরাদ্দ করা হয় না । [F3:][FO][FR] [FLT], যে কোন ডোমেইন [FO] এর মান] প্রদান করে [F] এর মান] [FON [F], [F]::: [F],] [F], যেকোনো সীমা উল্লেখ করে, [F] এবং তারপর, একটি ঘরের সীমা]: [F], [F]
% 1 বছর
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);
ডি.
ইন্টার্যাক্টটিকালিজম স্থায়ীভাবে প্রসাধনযোগ্য গল্পে পরিণত হয় । D3 ইভেন্ট হ্যান্ডলার, পরিবর্তন এবং গতিশীল আপডেটকে সমর্থন করে । আপনি টুলটি যোগ করতে পারেন টুল, জুম, গতি বৃদ্ধি, গতি এবং অ্যানিমেশনের উপর ভিত্তি করে একে অপরকে এগিয়ে নিয়ে যেতে পারেন । নিচের টুলগুলোকে আমরা স্বল্প মাপের মিথস্ক্রিয় বৈশিষ্ট্য হিসেবে গণনা করি এবং অন্যান্য সাধারণ মিথস্ক্রিয় বৈশিষ্ট্যের সাথে যুক্ত করি ।
টুল-টিপ সক্রিয় করা হবে
টুল-টিপে ওয়াই- ৩ এর ইভেন্ট সিস্টেমের মধ্যে সঠিক তথ্য উপস্থিত রয়েছে। D3.3 ইভেন্টের ব্যবহার সহযোগে আপনি ভাসমান [FOPL] নির্মাণ করতে পারেন যা বিস্তারিত দেখায়। উদাহরণস্বরূপ, মূল কোড সহ একটি বার প্রদর্শন করা হয়েছিল; এখানে আমরা আরও যোগ করতে পারি [FO]: [F]:[F]: পরিবর্তন করা হয় [F]:: পরিবর্তন করা, 1] [F]::::[F]
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 [FO:L] [FLT] আচরণ এই পদ্ধতিতে পরিবর্তন করে একটি এস. এস. এস. ফাইল গ্রুপ. ডি. এর অংশ। একটি এস. ফাইল যে অংশ প্রদর্শন করে আপনার পর্যবেক্ষণ করতে পারেন, তা হল ভি. এস. ই. পি. - এর মান পরিবর্তন করে।
const zoom = d3.zoom()
.scaleExtent([1, 10])
.on("zoom", (event) => {
g.attr("transform", event.transform);
});
svg.call(zoom);
পরিবর্তনশীল তথ্য আপডেট
মিথস্ক্রিয় ড্যাশবোর্ড সাধারণত পৃষ্ঠা পুনরায় লোড না করে ডাটা বের করতে হবে। D3 এর আপডেটকৃত বিন্যাস যোগ, অপসারণ, পরিবর্তিত বস্তু যোগ করতে এবং নতুন ডাটার সঙ্গে যুক্ত করতে কী ব্যবহার করা হচ্ছে। [FL] অতিরিক্ত নোডের জন্য [FD::]
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);
}
উচ্চ পর্যায়ের D3 টেকনিক
বিন্যাস ও ভৌগলিক কল্পনা
D3 এর মধ্যে বিশেষ বিন্যাস মডিউল অন্তর্ভুক্ত করা হয়: [[FLT] [FLT], নেটওয়ার্ক গ্রাফের জন্য পদার্থবিদ্যার অনুকরণের জন্য [FLT], [FRODRO: [FRO:] WHRON::LODO WELON: [FROD] প্রকল্পের জন্য সুনির্দিষ্টভাবে চিহ্নিত অতিরিক্ত কোড ব্যবহার করে একটি নেটওয়ার্ক তৈরির জন্য একটি প্রোগ্রাম চিহ্নিত করা হয় । উদাহরণস্বরূপ, stNONONGONED এর জন্য সুনির্দিষ্টভাবে একটি নেটওয়ার্ক কোড তৈরি করা প্রয়োজন । উদাহরণ: উদাহরণস্বরূপ, provodected proviations - ascles: একটি নেটওয়ার্ক তৈরির জন্য একটি নেটওয়ার্ক মডিউল তৈরি করা প্রয়োজন
const simulation = d3.forceSimulation(nodes)
.force("link", d3.forceLink(links))
.force("charge", d3.forceManyBody())
.force("center", d3.forceCenter(width / 2, height / 2));
অ্যানিমেশন ও অ্যানিমেশন
পরিবর্তন ব্যবহারকারীদের অভিজ্ঞতাকে মসৃণ করবে। D3' র [[FLTR] সময় পরিবর্তন সংক্রান্ত বৈশিষ্ট্য পরিবর্তন করতে পারে। উদাহরণস্বরূপ, সময় পরিবর্তন, কমিয়ে আনতে আপনি নিয়ন্ত্রণ করতে পারেন। উদাহরণ: একটি বারকে বার বৃদ্ধি করতে:
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);
প্রোডাক্ট-প্রি৩ এর জন্য সর্বোত্তম অনুশীলন
কর্মক্ষমতা হ্রাস করা হচ্ছে
বৃহৎ ডাটাসেট (০. ৫%), সরাসরি DOMPIndLes [FOPL] ব্যবহার করুন [FOPL][FOPL] [FV] এর মাধ্যমে পপ- আপ [FV] ওয়েব [F] এর মাধ্যমে পপ- আপ প্রোগ্রামগুলি বিবেচনা করুন: [F] [F] [F], p.org] //bL] [F], p.org] - র জন্য প্রতি সেকেন্ডে গতিসম্পন্ন, সংক্ষিপ্ত তথ্য প্রকাশ করা হবে [FW:: //b] [F] // t\tp].p] [/b] [F] [Fp].org].R.d.org //W.org/W.OD.ON.O.R.org/W.ON.O:::::::: W.R.D.D.R.org/W.L.L.D.L.D.L.d.d.d.L.L.d.L.d.L.d.L.Stock.Stock. সাহায্যে, p.
সহায়ক প্রযুক্তি
ভিশুয়ালাইজেশন সকল ব্যবহারকারীর জন্য সক্রিয় করা উচিত। উপলব্ধ ট্যাগের ক্ষেত্রে[[[F] <[F]
function resize() {
const width = container.node().getBoundingClientRect().width;
svg.attr("width", width)
.attr("height", width * aspectRatio);
// redraw scales and axes
}
window.addEventListener("resize", resize);
কোড প্রতিষ্ঠান
একটিf- পেজের মধ্যে আপনার D3 কোডটি মডিউলের জন্য তৈরি করুন: তথ্য সংগ্রহ করার জন্য একটি, যেমন, পদার্থের জন্য, ছবি আঁকার জন্য একটি, এবং একটিকের জন্য একটি করে m6 মডিউল অথবা ওয়েব প্যাকের মত একটি পূর্ণকারী ব্যবহার করুন । লাইফ-প্যাডের সাথে সরাসরি ব্যবহার করুন; এর পরিবর্তে সরাসরি D3 শ্রেণীকে D3 শ্রেণীতে কল করুন ।
আধুনিক কাঠামোর মাধ্যমে D3-কে উৎসাহিত করা
প্রতিক্রিয়া, কৌণিক এবং Veect তাদের নিজস্ব DOM (সিস্টেম, আকার) C3 ব্যবহার করে সমস্যা এড়াতে, ডি৩ ব্যবহার করুন এবং এস. এস. এস. এস. এর আকার পরিবর্তন করতে দেয়। বিকল্পভাবে, একটি mpered thatsp: [FLTF] [F] [F] এর মধ্য দিয়ে সম্পূর্ণ নিয়ন্ত্রণ করতে পারেন, তবে তা হল: [Ftectifials] [F], versted [F] - র জন্য একটি অংশ ব্যবহার করুন।
বাস্তব-বিশ্ব উদাহরণ এবং কেস ব্যবহার করুন
D3 শক্তি অনেক উচ্চ-প্রযোজক প্রকল্পের প্রকল্প: [[FLT] [FLT] [FLT] Complet. [FLT] Wors], ible partorss. proplorthropyst থেকে শত শত উদাহরণ প্রদর্শন করে, নিউ ইয়র্ক টাইমসের মতো সংবাদ সংস্থা যেমন D3 ব্যবহার করে বিভিন্ন ধরনের ডাটা ডট কমপশনে, D3.3.3.3 ব্যবহার করে আপনি বিভিন্ন ধরনের চিত্রের জন্য একটি চিত্র তৈরি করতে পারেন ।
উদাহরণস্বরূপ: ইন্টারঅ্যাকটিভ লিল ডক টুল্স এবং park দ্বারা
এক্স, y এবং শ্রেণী ব্যবহার করে ৫০০ পয়েন্টের একটি উপাত্ত কল্পনা করুন । এটি একটি চৈতন্য রেখার সাথে মিলে যায়, একটি টুল বিন্দুতে, যেখানে সুনির্দিষ্ট স্থানাংক প্রদর্শন করা হয়েছে এবং একটি বিন্দু যা নির্বাচিত বিন্দুর উপর ভিত্তি করে আঁকা বিন্দুর উপর ভিত্তি করে নির্মিত বিন্দুর উপর ভিত্তি করে নির্মিত হয় । কোডের বিন্যাসের ধরন অনেকটা এরকম:
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);
}
}
রিসোর্স এবং পরবর্তী ধাপ শেখা
মাস্টার D3, [FLT] sub"][FPRECT] - র প্রথম হৃৎস্পন্দন প্রবেশ করে [FOL][/FORECREBRES] /RECTIC [F] - এর মাধ্যমে একটি সাধারণ বর্ণনা: /FOPL [F] লেখা যাবে যা লেখার জন্য সরাসরি প্রয়োগ করা যাবে: প্রথম ও তারপর, প্রথম থেকে আরম্ভ করা হবে [F]: Sp:LL [F]: Sp: /FR] [F] [F]: WebT] -T] - এ Sp: WebD [FRUT].b লেখা নির্দেশ প্রদর্শন: WebD [Fp: WebD.SL [Fp:].S] এর জন্য একটি বিন্যাসের জন্য Sp: /L [Fphp: /L [FW]
অন্তর্ভুক্ত
D3. js ওয়েবের জন্য স্বনির্বাচিত মিথস্ক্রিয় উপাত্ত কল্পনার ক্ষেত্রে স্বর্ণের মান বজায় রাখে । এটি একটি দীর্ঘদৈর্ঘ্য, কর্মক্ষমতা এবং সম্প্রদায়কে সমর্থন করে । নির্বাচন, তথ্য সংক্রান্ত ধারণা, উপাত্ত বাইন্ডিং এবং আয়োজনের মাধ্যমে একে একটি সাধারণ চিত্র তৈরি করে আপনি এমন একটি টুল তৈরি করতে পারেন যা দৃশ্যমান হবে তথ্য সংরক্ষণ, এবং এটি একটি জটিল টুল তৈরি করবে। এটি ব্যবহার করে আপনি যদি কল্পনার জন্য একটি ছোট আকারের টুল তৈরি করতে পারেন, তাহলে এটি আপনার ওয়েবের জন্য একটি ছোট আকারের উপাদান, এবং এটি তৈরি করতে পারবেন। এবং এটি আপনার দৃষ্টিকোন ধরনের কাঠামোর মাধ্যমে এটি তৈরি করতে পারবেন। এবং তা আপনার কল্পনার উপর ভিত্তি করে আপনি এটি তৈরি করতে পারেন, এবং এটি আপনার পাঠ্যক্রমকে সমৃদ্ধতরের জন্য একটি ক্ষুদ্র আকারের টুল-চিত্র তৈরি করতে পারে। এবং এটি ব্যবহার করতে পারে। এবং এটি ব্যবহার করতে পারে, যা আপনাকে একটি ক্ষুদ্র আকারের বস্তু, এবং তা আপনার কল্পনার উপর ক্লিক করতে পারে। এবং এটি আপনার কল্পনার উপর ভিত্তি করে, এবং তা আপনার কল্পনার উপর ভিত্তি করে। এবং এটি আপনার কল্পনার মাধ্যমে তৈরি করতে পারে। এবং এটি আপনার কল্পনাকে একটি ক্ষুদ্রতরতরতর চিত্র তৈরি করতে পারে। এবং এটি তৈরি করতে পারে। এবং এটি ব্যবহার করতে পারে। এবং এটি একটি ক্ষুদ্রতর, যা আপনাকে একটি ক্ষুদ্রতরতরতরতর উপায়।