ই এম এস প্লটটি সরাসরি একটি ইম্যাক্স বাফারে যাবে?


33

প্রশ্ন: আমি সরাসরি ইমাস বাফারে প্লট করার জন্য কীভাবে ESS (আর) পেতে পারি?

ইএসএসের মাধ্যমে আর এর সাথে আলাপকালে, আর এর প্লটগুলি আঁকার জন্য ইমাসের বাইরে পৃথক গ্রাফিক্স উইন্ডো তৈরি করতে ডিফল্ট হয়। (একজন অবশ্যই গ্রাফিকাল ডিভাইসগুলি চয়ন করতে পারেন, এটি আমরা পিডিএফ ইত্যাদিতে কীভাবে পরিকল্পনা করি) দুটি বিষয়: প্রথমত, নতুন উইন্ডোটি ইমাস থেকে ফোকাস কেড়ে নিয়েছে এবং দ্বিতীয়ত, সবকিছু সুন্দর এবং পরিপাটি করে রাখা অবশ্যই ভাল হবে sure Emacs বাস্তুতন্ত্রের মধ্যে।

সুতরাং: কোনও ইম্যাক্স বাফারকে "সরাসরি" (বা এমনকি অপ্রত্যক্ষভাবে) প্লট করার কোনও উপায় আছে এবং আরও গুরুত্বপূর্ণ, ব্যবহারকারীর দ্বারা অনেকগুলি ম্যানুয়াল হস্তক্ষেপ ছাড়াই এটি করা যায়?

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

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


3
ইমাসকে কোনও ফাইল ব্যবহার করতে হবে না এবং এর পরিবর্তে একটি বাফারে একটি চিত্র sertোকানোর জন্য একটি স্ট্রিং ব্যবহার করতে পারে, এর ডকাস্ট্রিংটি দেখুন create-image। যদিও এটি অর্জনে আমি আর এবং ইমাকস একে অপরের সাথে যোগাযোগ করার জন্য আপনাকে সাহায্য করতে পারি না।
wasamasa

1
এই কানা অনুলিপি করুন মেইলিং লিস্টে আলোচনা করা হয়েছে: দেখুন stat.ethz.ch/pipermail/ess-help/2013-November/009559.html
ঈষ্ট

উত্তর:


5

প্রশ্নের সম্পূর্ণরূপে কোনও উত্তর নয়, তবে যখন আরগ-মোডের ব্যাবেলে আর ব্যবহার করা হয়:

* My example
#+name: simple-org-example
#+begin_src R :session *my-R* :dir "." :results output graphics :file example.svg :width 18 :height 9
  plot(cyl~mpg,data=mtcars)
#+end_src

Org- C-c C-cমোডে এটি করার ফলে *my-R*ইন্টারফেসিং ইএসএস বাফার দিয়ে একটি বাফার তৈরি হবে , example.svgফাইলটিতে প্লট তৈরি হবে এবং তারপরে আপনি ফাইলের তৈরি লিঙ্কটিতে ক্লিক করতে পারেন (বা এন্টার টিপুন), এটি এটি খুলবে।

অর্গ-মোড চিত্রটিকে ইনলাইন করতে সক্ষম হয়, তবে এটি এই কার্যকারিতাটি টগল করার সময় (সাথে M-x org-toggle-inline-images) বা ফাইলটি খোলার সময় করে তবে এতে কোনও কোড চালানোর ক্ষেত্রে নয়।

সুতরাং এটি সম্পূর্ণ সমাধান নয়।


3
আপনি সেটিংস দ্বারা স্বয়ংক্রিয়ভাবে চিত্রটি প্রদর্শন করতে পারেন (add-hook 'org-babel-after-execute-hook 'org-display-inline-images)তবে এটি (আমি মনে করি) এখনও ওপি যা চেয়েছিল তা সত্য নয়।
ইস্তা

0

আমি শুধু পোস্ট একটি উত্তর থেকে পুরানো পোস্ট আপনি আপনার প্রশ্নে উল্লেখ করা হয়। আমি যেমন লিখেছি, এটি আপনার পক্ষে কাজ করবে না কারণ এটি আপনার সামগ্রিক কম্পিউটার ওয়ার্কফ্লোতে যথেষ্ট নাটকীয় পরিবর্তন হবে।

তবে exwm , যে কোনও নন- ইম্যাকস উইন্ডোটিকে ইম্যাক্স বাফার হিসাবে অনুমতি দিয়ে, ইমাস বিফারগুলিতে আর প্লট থাকতে পারে যা সাধারণ ইম্যাক্স সেটিংস এবং কী-বাইন্ডিং দ্বারা নিয়ন্ত্রিত হয়।

এটি দেখতে কেমন তার একটি উদাহরণ এখানে দেওয়া হয়েছে:

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.