আর এর সাথে চক্রান্ত করার জন্য, আমি কি জিজিপ্লট 2 বা জিজিভিস শিখতে পারি?


38

আর এর সাথে চক্রান্ত করার জন্য, আমি কি জিজিপ্লট 2 বা জিজিভিস শিখতে পারি? তাদের মধ্যে যে কোনও বিষয়ে উচ্চতর হলে আমি উভয়ই শিখতে চাই না। কেন সম্প্রদায় ওভারল্যাপিং কার্যকারিতা সহ নতুন প্যাকেজ তৈরি করে রাখে? ভূমিকা ব্লগ পোস্ট একটি শব্দ কেন ggvis দেওয়া তৈরি করা হয় যে একটি অত্যাধুনিক চক্রান্ত প্যাকেজ ggplot2 আগে থেকেই আছে উল্লেখ করে না।


5
জিজিভিস হ'ল মাছের সম্পূর্ণ আলাদা কেটলি। আসল বিকল্পটি জিজিপ্লট এবং ল্যাটিসের মধ্যে রয়েছে
গালা

1
আমি মনে করি উত্তরটি আপনার পরে কী হবে তার উপর নির্ভর করে। আপনি যদি স্থির উন্নত প্লট খুঁজছেন, আপনি শিখতে চাইবেন ggplot2। ওয়েব ভিজ্যুয়ালাইজেশনের জন্য বিবেচনা করুন ggvis
রোমান Luštrik

উত্তর:


39

Ggplot2 দিয়ে শুরু করুন। এটি স্থির প্লট তৈরি করে।

স্ট্যাটিক প্লট ছাড়াও ইন্টারেক্টিভ প্লট তৈরির জন্য জিজিভিস ব্যবহার করা যেতে পারে। একবার আপনি ggplot2 এর বাক্য গঠনটি শিখলে, তারপরে ggivs প্লট তৈরি করতে ইন্টারঅ্যাক্টিভিটি যুক্ত করার সিনট্যাক্সটি প্রাকৃতিকভাবে অনুসরণ করবে।


4
এটি ভুল (সম্ভবত লেখার সময় এটি সঠিক ছিল)। স্থির প্লট তৈরি করতে ggvis অবশ্যই ব্যবহার করা যেতে পারে। এটি ইন্টারেক্টিভ প্লটগুলির জন্যও অনুমোদন দেয় এমন একটি বৈশিষ্ট্য, কোনও সীমাবদ্ধতা নয়। স্ট্যাটিক প্লটের একটি সাধারণ উদাহরণ:library('ggvis'); mtcars %>% ggvis(~wt, ~mpg) %>% layer_points(fill = ~factor(cyl))
আন্দ্রে টেরা

47

আমি ডায়ান্ন কুকের উত্তরে কিছুটা প্রসারিত করতে চাই। যেমনটি তিনি বলেছিলেন, ggplot2 স্ট্যাটিক প্লট তৈরির জন্য, জিজিভিস ইন্টারেক্টিভ প্লটগুলির জন্য। এর মধ্যে একগুচ্ছ পদার্থ রয়েছে:

ফাইল টাইপ ggvis আউটপুট হ'ল CSS এবং জাভাস্ক্রিপ্ট ফাইল সহ HTML। ggvis স্বাভাবিকভাবেই সাধারণ চিত্র ফাইলগুলি আউটপুট দেয় না। ggplot2 সাধারণ চিত্রগুলি আউটপুট করে, যা এইচটিএমএল বা পিডিএফ বা জিআইএফ বা ই-মেইলে এম্বেড করা যায় বা অন্য যে কোনও কিছু হতে পারে। জিজিভিস, আপনি যদি ফাইলটি ইমেল করতে চান তবে আপনি ব্রাউজারে দেখতে এইচটিএমএল ফাইলগুলির একটি ডিরেক্টরি জিপ-আপ করছেন।

অ্যানিমেশন এর একটি পরিণতি হ'ল আপনি যদি কোনও অ্যানিমেশন তৈরি করতে চান তবে আপনি ফ্রেমগুলি ggplot2 এ তৈরি করতে পারেন এবং সেগুলি মার্জ করতে পারেন, তবে ggvis দিয়ে এটি করার কোনও প্রাকৃতিক উপায় নেই। ggvis ইন্টারেক্টিভভাবে অভিনয় করা "লাইভ" অ্যানিমেটেড করবে তবে এগুলি বিভিন্ন ধরণের অ্যানিমেশন। Ggvis প্রক্রিয়া করতে পারে তার চেয়ে বেশি যদি ফ্রেম-এ আরও কিছু করা হয় তবে আপনি চিত্রগুলি তৈরি করে এবং পটভূমিতে সিনেমাটি তৈরি করে (কমপক্ষে একটি প্রাকৃতিক উপায়ে) এর আশপাশে কাজ করতে পারবেন না। একইভাবে, ব্যবহারকারী জিজিভিস থেকে রিপ্লেতে কোনও সিনেমা বা জিআইএফ ফাইল ডাউনলোড করতে পারবেন না।

এই মুহূর্তে আমার বর্তমান প্রকল্পে, আমি ggplot2 থেকে ggvis এ পরিবর্তন করেছি কারণ ggplot2 ইন্টারেক্টিভভাবে অ্যানিমেট করার জন্য খুব ধীর ছিল। তবে, আমি সেটিংসের সাথে কাজ করার পরে, ব্যবহারকারীরাও চাই যে "যান" ক্লিক করতে সক্ষম হবে এবং তারা কী করেছে তার একটি পূর্ণ গতির, মসৃণ-অ্যানিমেশন মুভি ডাউনলোড করতে সক্ষম হবে। জিজিভিস ব্যবহার করে এটি কীভাবে করবেন তা আমি বুঝতে পারি নি, তবে এটি জিপিপ্লট 2 ব্যবহার করে কেক হবে।

স্পিড ggvis ggplot2 এর চেয়ে অনেক বেশি, অনেক বেশি দ্রুত, বিশেষত ডেটা পরিবর্তন করার সময়। প্রতিটি ggplot2 প্লটের একটি দ্বিতীয় বা কয়েক বিলম্ব হয়। ggvis এর দ্বিতীয় বা তাই থাকে যখন আপনি প্রথম প্লটটি তৈরি করেন, তার পরে ডেটা পরিবর্তন করা নির্বিঘ্ন - ggvis "প্রতিক্রিয়াশীলভাবে" ডেটার সাথে যুক্ত হতে পারে তাই যখনই ডেটা পরিবর্তন হয় তখন এটি নিজেই আপডেট হয়। Ggplot2 এর সাথে পুরো প্লটটি আবার নতুন করে আঁকতে চলেছে।

স্টাইল এবং চেহারা ggplot2 প্লট ggvis প্লটের চেয়ে প্রথম নজরে কিছুটা সুন্দর লাগে seem ggplot2 প্লট বেশ মার্জিত। ggvis প্লটগুলি সহজ, তবে সেগুলি আমার উপর বাড়ছে। Ggplot2 এর জন্য এক্সটেনশনগুলিও রয়েছে, যেমন xkcd এবং ওয়েসনডারসন প্যাকেজগুলি, যেখানে ggvis এর জন্য কোনও এনালগ নেই। ggplot2 প্লটগুলি সমস্ত দেখতে একই রকম হয় যে তারা একই ব্যক্তির দ্বারা তৈরি হয়েছিল (ggplot2 এর লেখক) এবং এটি কিছুক্ষণ পরে ক্লান্ত হয়ে পড়ে।

সম্পূর্ণতা ggplot2 এ আপনি তৈরি করতে পারেন এমন প্লটের ধরণ রয়েছে যা কমপক্ষে এখনও পর্যন্ত ggvis সমর্থন করে না। উদাহরণস্বরূপ ggvis এ কোনও "রাগ" প্লটের উপাদান নেই। আমি এক বা দুটি কোরিপলথ দেখেছি যা ggvis দিয়ে তৈরি হয়েছিল, তবে এখনও কোনও প্রাকৃতিক অন্তর্নির্মিত সমর্থন নেই। ggplot2 এর পোলার স্থানাঙ্ক রয়েছে (অর্থাত্ পাই চার্ট), জিজিভিস নেই। জিজিভিস থেকেও অনুপস্থিত (এবং এটি জিপিপ্লট 2 বা একটি জিজিপ্লট 2 এক্সটেনশনে উপলব্ধ): বক্সপ্লট; কনট্যুর প্লট; প্রাকৃতিক হিটম্যাপস; প্রাকৃতিক সম্পর্ক চার্ট; dotplots; বেহালা প্লট; নেটওয়ার্ক প্লট; dendrograms। অবশ্যই আমি নিশ্চিত যে খুব চতুর লোকেরা এই সবগুলি জিজিভিসে তৈরি করতে পারে তবে আমি সেই চালাক নই।

টীকাগুলি ggplot2 এর একটি খুব সুন্দর, সম্ভবত স্বল্প-ব্যবহারযোগ্য, টীকাযুক্ত ফ্রেমওয়ার্ক রয়েছে। ggvis না।

সাবপ্লটস এবং ফেসটস ggplot2 এর খুব সুন্দর, তবে সম্ভবত সীমাবদ্ধ, "ফেসটিং" বৈশিষ্ট্য রয়েছে। আপনি গ্রিড প্যাকেজ ব্যবহার করে একাধিক ggplot2 প্লট একত্রিত করতে পারেন। এখন হিসাবে, আপনি হয় ggvis দিয়ে করতে পারবেন না। ggvis প্লটগুলি একটি একক চিত্রের সাথে একত্রিত করা যায় না (কারণ তারা চিত্র নয়, তারা "লাইভ" ওয়েবপৃষ্ঠাগুলি) এবং এটি কোনও ধরণের ফেসটিং বা সাবপ্লোটিংকে সমর্থন করে না। এটি পাইপলাইনে থাকার কথা।

ভিজ্যুয়াল নমনীয়তা ggplot2 প্রতিটি প্লট একইরকম দেখতে চায়, যার অর্থ লেখক স্টাইলিস্টিকালি পছন্দ করেন। কোনও উপায় নেই, উদাহরণস্বরূপ, ggplot2 এ একাধিক y অক্ষ সহ একটি প্লট রয়েছে। ggvis পারেন। ggvis ggplot2 এর চেয়ে অনেক বেশি নমনীয়। কিংবদন্তীগুলি গোপন করা, একাধিক কিংবদন্তী একত্রিত করা, একই প্লটের বিভিন্ন জিনিসগুলির জন্য বিভিন্ন স্কেল ব্যবহার করা ইত্যাদি পক্ষে কাজ করা সহজ

গভীর কাস্টমাইজিবিলিটি আপনি যদি একটি নতুন চৌকস স্কেল তৈরি করতে চান, তবে এটি ggplot2 এ করা খুব কঠিন নয় (যদিও এটি বেশ বিভ্রান্তিকর)। জিজিভিসে কেবল এটির অনেক কিছুই করার উপায় বলে মনে হচ্ছে না। সম্ভবত এটি এখনও-না।

টাইম সিরিজ ggplot2 টাইম সিরিজ প্লট করতে পছন্দ করে না। এটি পারে , কিন্তু এটি চায় না । আসলে তারা কেউই চায় না; উভয়ই একটি ডেটা ফ্রেমে ডেটা খাওয়ানোর জন্য জোর দিয়ে থাকে এবং তারা এক্সটিএস বা চিড়িয়াখানার জিনিসগুলি পরিচালনা করতে পারে না। একটি সময় সিরিজ কাটা জন্য তাদের অন্তর্নির্মিত বৈশিষ্ট্য নেই। কিন্তু জিজিভিস সময় সিরিজের বিরুদ্ধে জিজিপ্লট 2-এর মতো কঠিন লড়াই করে না। এটি আংশিক কারণ কোনও জিজিভিস প্লটে ডেটা আপডেট করার জন্য এটি এত দ্রুত, আমি মনে করি। আপনি যদি টাইমসারিজ প্লট করতে চান তবে আপনাকে জমা দিতে হবে তবে জিজিভিস এটি সম্পর্কে অনেক কম প্যাসিভ-আগ্রাসী।

তারা কি একই সিনট্যাক্স? বাছাই করুন ... তাদের মধ্যে অনেকগুলি মিল রয়েছে এবং একজনের স্টাইলে চিন্তা করা শিখতে অন্যের শৈলীর সাথে খাপ খাইয়ে নিতে সহায়তা করবে। বিশেষত, উভয়ই ডিজাইন করা হয়েছে যাতে সমস্ত প্লটিং কলগুলি কোডের একক লাইনে একে অপরের সাথে পাইপ করা হয়। এর প্রাথমিক সুবিধা হ'ল এটি ডিবাগিং এবং প্রোফাইলিংকে সত্যই শক্ত করে তোলে এবং মূলত ডিস্টিগিং / প্রোফাইলিং বৈশিষ্ট্যগুলিকে রস্টুডিও অকেজো করার মতো উপস্থাপন করে। এগুলি বাদে এগুলি সিন্টেক্সিকভাবে বেশ আলাদা। কিছু জিনিস যা ggplot2 এ শক্ত হয় ggvis এ সহজ। কিছু জিনিস যা ggplot2 এ সহজ হয় ggvis এ অসম্ভব। এবং বিপরীতভাবে. (জিজিভিস যেভাবে কাজ করে সে সম্পর্কে আমার কিছুটা অগ্রাধিকার রয়েছে যা আমি বুঝতে সহজ মনে করি।)

বাগ ggvis এখনও বেশ কয়েক আছে। কখনও কখনও এটি ঠিক অদ্ভুত আচরণ করে। কখনও কখনও, যদিও প্লটগুলি এলোমেলোভাবে এমন কারণে অদৃশ্য হয়ে যায় যেগুলি প্রায় ঘন্টা সময় কাজ করে এবং খুব কম বোঝায়। বিকাশকারীরা নিখরচায় স্বীকার করেছেন, জিজিভিস এখনও উত্পাদন-প্রস্তুত নয়। যদি আপনি কোন জটিলতা সাথে মোকাবিলা থাকে, তাহলে আপনি হবে তারা নিশ্চয়ই মজা নেই আবিষ্কার।

নীচের লাইন: প্রত্যেকটিতে মধ্যবর্তী প্লটিং শিখতে প্রায় 16 ঘন্টা সময় লাগে। সুতরাং, বাস্তববাদী, আপনি সম্ভবত উভয় শিখতে হবে।


1
দুর্দান্ত তুলনা
স্ক্যান

দ্রুত ggvis বা জাল বা rgl কি? (বড় ডেটাসেটের জন্য)
স্ক্যান করুন

+1 চমত্কার লিখুন। আমি এ পর্যন্ত উভয়ের সাথে আমার অভিজ্ঞতার ভিত্তিতে এখানকার সব কিছুতে একমত।
ডেভিড ক্রুক

হ্যালো, ggvis বনাম rcharts সম্পর্কে কি?
স্ক্যান

সময় সিরিজ: ggplot2 এক্সটেনশন ggfortify সঙ্গে নিশ্চিতভাবে জিতে। এটি সম্পর্কে এই দুর্দান্ত ডকুমেন্টেশন দেখুন: rpubs.com/sinhrks/basics
Archimede

10

আমি মনে করি এর পরে প্রদর্শিত বার্তাটি library(ggvis)স্ব-বর্ণনামূলক:

Ggvis API বর্তমানে দ্রুত বিকশিত হচ্ছে। আমরা দৃ strongly়ভাবে প্রস্তাব দিচ্ছি যে আপনি উত্পাদনের জন্য এটির উপর নির্ভর করবেন না, তবে অন্বেষণে নির্দ্বিধায়। তোমাদের কাছে সুস্পষ্ট কোন বাগ সম্মুখীন হলে এ ন্যূনতম গঠনকর উদাহরণ ফাইল করুন https://github.com/rstudio/ggvis/issues । প্রশ্ন এবং অন্যান্য আলোচনার জন্য, দয়া করে https://groups.google.com/group/ggvis ব্যবহার করুন ।

Ggplot2 এর তুলনায় ggvis এর এখনও কিছু বৈশিষ্ট্য এবং পোলিশের অভাব রয়েছে (উদাহরণস্বরূপ কোনও গ্রাফের শিরোনাম যুক্ত করার উপায় নেই, অক্ষের শিরোনামগুলি টিক লেবেলগুলির সাথে ওভারল্যাপিং রয়েছে এবং আরও রয়েছে, মুখোমুখি সমর্থিত নয়, ইত্যাদি) অন্যদিকে ggvis সিনট্যাক্স অনুভব করে কিছুটা পরিষ্কার, এবং মিথস্ক্রিয়তা সত্যিই দুর্দান্ত।

আমার নিজের অভিজ্ঞতা থেকে ggvis একটি আবশ্যক যদি আপনি চকচকে অ্যাপ্লিকেশন তৈরি করে থাকেন। তারপরে একটি ওয়েব এবং আর বন্ধুত্বপূর্ণ গ্রাফ প্লটিং ইঞ্জিন থাকার সুবিধাগুলি বর্তমানে এটির যে কোনও ঘাটতি রয়েছে তার থেকে অতিক্রম করে।

আপনি যদি ডেটা অন্বেষণের জন্য স্থিতিশীল গ্রাফগুলি করতে চান তবে ggplot2 হ'ল একটি পরিপক্ক লাইব্রেরি যা প্রচুর শীতল বৈশিষ্ট্যযুক্ত এবং ব্যবহারকারীদের একটি সুস্থ সম্প্রদায় এবং শিখার জন্য প্রচুর সংস্থান সহ।

উভয় প্যাকেজ পিছনে দর্শন একই, তাই দক্ষতা এক প্যাকেজ থেকে অন্য প্যাকেজে বেশ সহজেই স্থানান্তরিত হতে পারে।


8

আর সম্প্রদায় বিভিন্ন কারণে নতুন (এবং প্রায়শই ওভারল্যাপিং) প্যাকেজ নিয়ে আসে:

1) কেউ এমন কিছু পরিবর্তন করতে বা এমন কিছু যুক্ত করতে চায় যা বিদ্যমান প্যাকেজটিতে পাওয়া যায় না, তবে এর বেশিরভাগ অংশ ওভারল্যাপ করে (অতএব, অনেক প্যাকেজ যা রিগ্রেশন করে)

২) অ্যাসাইনমেন্ট হিসাবে কেউ প্যাকেজ লিখেছেন

3) প্যাকেজ লেখা মজাদার (যদি আপনি এই ধরণের জিনিস পছন্দ করেন)

4) তারা জানে না যে মূল প্যাকেজটি বিদ্যমান


9
নির্দিষ্ট উদাহরণ এবং আপনার পয়েন্ট 4 সম্পর্কিত: ggvis একই লোকেরা ggplot2 হিসাবে রচনা করেছেন। এখানে গুরুত্বপূর্ণ বিষয়টি হ'ল ggplot2 এর ব্যবহার এত বিস্তৃত যে প্রচুর বিদ্যমান কোড / নির্ভরশীল প্যাকেজগুলি না ভেঙে পরিবর্তনগুলি বাস্তবায়ন করা অসম্ভব হয়ে পড়েছে।
রোল্যান্ড

1
পুঁজিবাদী সমাজগুলিতে অর্থনৈতিক মন্দার মতোই কি এই জাতীয় পূর্ব প্যাকেজটির পুনর্বিন্যাস ঘটবে?
qazwsx

2
@ পিটার: আর এর একজন বহিরাগত হিসাবে এটি আমার কাছে যথাযথ মন্তব্যের মত মনে হয়েছে তবে (সবচেয়ে অস্বাভাবিকভাবে) আপনি প্রশ্নের উত্তর দেন না!
নিক কক্স 10

@ নিককক্স আমি প্রশ্নের মধ্যে থাকা একটি প্রশ্নের উত্তর দিয়েছি। :-)।
পিটার Flom - পুনর্বহাল মনিকা

1
@ পিটার খুব ন্যায্য পয়েন্ট। Stats.stackexchange.com/questions/58966/… এর একটি ক্রস রেফারেন্স তাই আমি প্রাসঙ্গিক বলে মনে করি।
নিক কক্স 11
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.