লিনাক্সের অধীনে প্রকাশনা-মানের প্লট তৈরির সহজতম উপায় কী?


17

আমরা ধরে নিতে পারি যে আমাদের সিএসভি ফাইল রয়েছে এবং আমরা একটি প্লট এবং সরল কিংবদন্তীর বেশ কয়েকটি লাইন সহ একটি খুব প্রাথমিক লাইন প্লট চাই।


2
আপনি কীভাবে 'প্রকাশনা-গুণমান' সংজ্ঞায়িত করেন? আপনি কী দিকগুলি কভার দেখতে চান তা বিস্তারিতভাবে বর্ণনা করুন ... উদাহরণস্বরূপ রঙ ব্যবহার, লাইন প্রস্থ ইত্যাদি উত্তরগুলির পরিবর্তে ফন্টের আকারের দিকে মনোযোগ দেওয়া উচিত?
এগন উইলিঘেন

উত্তর:


14

সবচেয়ে সহজ উপায় হ'ল আর

read.csvআর-তে ডেটা প্রবেশের জন্য ব্যবহার করুন , তারপরে plotএবং এর সংমিশ্রণটি ব্যবহার করুনline কমান্ডগুলির

যদি আপনি সত্যিই বিশেষ কিছু চান, তবে গ্রন্থাগারগুলি ggplot2 বা জালিয়াতিগুলি দেখুন

ইন ggplot2নিম্নলিখিত কমান্ড আপনাকে শুরু করতে হবে।

require(ggplot2)
#You would use read.csv here
N = 10
d = data.frame(x=1:N,y1=runif(N),y2=rnorm(N), y3 = rnorm(N, 0.5))
p = ggplot(d)

p = p+geom_line(aes(x, y1, colour="Type 1"))
p = p+geom_line(aes(x, y2, colour="Type 2"))
p = p+geom_line(aes(x, y3, colour="Type 3"))
#Add points
p = p+geom_point(aes(x, y3, colour="Type 3"))
print(p)   

এটি আপনাকে নিম্নলিখিত প্লটটি দেবে:

লাইন প্লট http://img84.imageshack.us/img84/6393/tmpq.jpg

আর-তে প্লট সংরক্ষণ করা হচ্ছে

আর-তে প্লট সংরক্ষণ করা সোজা:

#Look at ?jpeg to other different saving options
jpeg("figure.jpg")
print(p)#for ggplot2 graphics
dev.off()

এর পরিবর্তে jpegআপনি একটি pdfবা পোস্টস্ক্রিপ্ট ফাইল হিসাবে সংরক্ষণ করতে পারেন :

#This example uses R base graphics
#Just change to print(p) for ggplot2
pdf("figure.pdf")
plot(d$x,y1, type="l")
lines(d$x, y2)
dev.off()

কিভাবে ফাইল সংরক্ষণে?
asukasz Lew

1
অথবা একটু দ্রবীভূত করা এবং qplot সঙ্গে আরো succinctly:m <- melt(d, id = "x"); qplot(variable, value, data = m, colour = variable)
হ্যাডলি

আসলে, আরও সহজ উপায় হ'ল জিপিপ্লট 2 এর সাথে আর + ডিডিউসার ব্যবহার করা (এটির একটি নতুন রিলিজ প্রকাশিত হচ্ছে যা আগামী কয়েক মাসে প্রকাশিত হতে চলেছে A একটি বিটা বর্তমানে উপলভ্য)
তাল গ্যালিলি

4
দুর্দান্ত উদাহরণ, তবে প্লটটি খুব কমই প্রকাশের গুণমান। বা আমি প্রকাশিত জার্নালগুলির মধ্যে কমপক্ষে কোনওটি এটি গ্রহণ করবে না।
ম্যাটি প্যাসেল

3
"কষ্ট করে প্রকাশের গুণমান" ???? আমি বুঝতে পারি যে এটি নিখুঁত নয় - "... আপনার কি শুরু করা উচিত .." এই বাক্যাংশটি সেই বিস্তৃত। তবে কিছুটা অতিরিক্ত কাজ, অর্থাৎ অক্ষের লেবেল সহ, আমি বলব এটি ঠিক আছে। বিটিডাব্লু, আপনি কোন জার্নালে প্রকাশ করেন?
csgillespie

13

গ্রাফিক্সের জন্য আর পেরিয়ে যাওয়া শক্ত। আপনি 3 লাইনে যা চান তা করতে পারেন। উদাহরণস্বরূপ, সিএসভি ফাইলটি ধরে নিয়ে চারটি কলাম রয়েছে:

x <- read.csv("file.csv")
matplot(x[,1],x[,2:4],type="l",col=1:3)
legend("topleft",legend=c("A","B","C"),lty=1,col=1:3)

কীভাবে প্রকাশ্যে রাখবেন?
asukasz লু

5
আর চারদিকে সেরা মানের গ্রাফিক্স তৈরি করে। একটি আন্তর্জাতিক গবেষণা জার্নালের সম্পাদক হিসাবে, আমি আমাদের সমস্ত লেখককে আর ব্যবহার করতে পছন্দ করব
রব হ্যান্ডম্যান

1
.. প্রশ্নটিতে আমার মন্তব্য দেখুন ... আপনি সম্পাদকীয় দৃষ্টিকোণ থেকে কীভাবে 'প্রকাশনা-মানের' বা 'সেরা মানের' সংজ্ঞা দেন?
এগন উইলিঘেন

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

12

আর অবশ্যই উত্তর। রব এবং কলিন ইতিমধ্যে যা বলেছিল তাতে আমি কেবল যুক্ত করব:

আপনার প্লট মান উন্নত করতে, আপনি ব্যবহার বিবেচনা করা উচিত কায়রো প্যাকেজ আউটপুট ডিভাইস জন্য। এটি চূড়ান্ত গ্রাফিক্সের গুণমানকে আরও উন্নত করবে । আপনি প্লট করার আগে কেবল ফাংশনটি কল করেন এবং এটি আউটপুট ডিভাইস হিসাবে কায়রোতে পুনঃনির্দেশ করে।

Cairo(600, 600, file="plot.png", type="png", bg="white")
plot(rnorm(4000),rnorm(4000),col="#ff000018",pch=19,cex=2) # semi-transparent red
dev.off() # creates a file "plot.png" with the above plot

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


2
SVG, যা সহজে সঙ্গে সম্পাদনা করা যেতে পারে আমি - সম্ভবত কায়রো ব্যবহার করে একটি বিটম্যাপ ইমেজ উত্পাদন করতে চেয়ে ভাল তাই অনেক সুন্দর দেখতে পাবেন যখন মাপ পরিবর্তন, এবং সবসময় মামলা মুদ্রণ রেজল্যুশন, ভেক্টর, যা রেজল্যুশন স্বাধীন যেমন গ্রাফ রক্ষা করা ইঙ্কস্পেস
nnot101

10

আমার প্রিয় সরঞ্জামটি ম্যাথপ্ল্লোটিব সহ পাইথন

সুবিধা:

  • যে পরিবেশে আমি আমার পরীক্ষা-নিরীক্ষা করি সেখান থেকে তত্ক্ষণাত রফতানি
  • স্কিপি / নপি ডাটা স্ট্রাকচারের জন্য সমর্থন
  • পরিচিত সিনট্যাক্স / বিকল্পগুলি (ম্যাটলব পটভূমি)
  • লেবেল / কিংবদন্তী ইত্যাদির জন্য সম্পূর্ণ ল্যাটেক্স সমর্থন So

বিশেষত, এসভিজি এবং ইপিএসের মতো বিভিন্ন ফাইল ফর্ম্যাটের জন্য সেভফিগের বিন্যাস প্যারামিটার ব্যবহার করুন

একটি উদাহরণ: ইনপুট.সিএসভি

"লাইন 1", 0.5,0.8,1.0,0.9,0.9
"লাইন 2", 0.2,0.7,1.2,1.1,1.1

কোড:

import csv
import matplotlib.pyplot as plt

legends = []
for row in csv.reader(open('input.csv')):
    legends.append(row[0])
    plt.plot(row[1:])

plt.legend(legends)
plt.savefig("out.svg", format='svg')

আপনি সম্পূর্ণতার জন্য একটি কোড স্নিপেট রাখতে পারেন? ভবিষ্যতে এই পৃষ্ঠাটি সন্ধান করা মানুষের পক্ষে এটি খুব কার্যকর হবে।
asukasz Lew

@ ইউকাসজ হুম, কিছু পরামর্শ কীভাবে একটি এসভিজি ফিগার আপলোড করবেন?
পিটার স্মিট

4
আপনি আপনার উত্তরে উল্লেখ করতে পারতেন যে ম্যাটপ্ল্লোলিব ল্যাটেক্সের সাথে প্লটে সমস্ত টাইপোগ্রাফির রেন্ডারিং করতে দেয় যাতে এটি পুরোপুরি চাক্ষুষভাবে সংহত করে।
বেনিয়ামিন ব্যানিয়ার

আমি ভাবছি কেন এখনও ম্যাটপ্লটলিব আর-তে সংহত হয়নি?
nnot101

6

তিনটি জনপ্রিয় ভিজ্যুয়ালাইজেশন লাইব্রেরির জন্য নমুনা গ্যালারীগুলি একবার দেখুন:

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

আমার মনে হয় যে আপনি কোন ভাষায় কাজ করতে সবচেয়ে স্বাচ্ছন্দ্য বোধ করছেন তা বেশ তাড়িত করে that সাথে যান।



1

সহজ আপেক্ষিক। কোনও সরঞ্জাম এত সহজে সহজ হয় না যতক্ষণ না আপনি এটি ব্যবহার করতে জানেন। কিছু সরঞ্জাম প্রথমে আরও কঠিন দেখাতে পারে তবে আপনি একবারে দক্ষ হয়ে উঠলে আপনাকে আরও অনেক সূক্ষ্ম কন্ট্রোল সরবরাহ করে।

আমি সম্প্রতি আমার প্লটগুলি পিজিপিপ্লটগুলিতে তৈরি করতে শুরু করেছি । একটি ল্যাটেক্স প্যাকেজ হওয়া (উপরে tikz), জিনিসগুলিকে ভাল দেখায় এটি বিশেষত ভাল। ফন্টগুলি বাকী নথির সাথে সামঞ্জস্যপূর্ণ এবং আপনার প্লটগুলি দৃশ্যত সংহত করতে আরও সহজ। এটি প্লট তৈরি করা সবচেয়ে সহজ বিকল্প নয়, তবে এটি প্লটগুলি তৈরির একটি সহজ উপায় যা অবশ্যই প্রকাশনা-মানের are

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