हम मान सकते हैं कि हमारे पास CSV फ़ाइल है और हम एक प्लॉट और एक साधारण किंवदंती पर कई लाइनों के साथ एक बहुत ही मूल लाइन प्लॉट चाहते हैं।
हम मान सकते हैं कि हमारे पास CSV फ़ाइल है और हम एक प्लॉट और एक साधारण किंवदंती पर कई लाइनों के साथ एक बहुत ही मूल लाइन प्लॉट चाहते हैं।
जवाबों:
सबसे आसान तरीका है R का उपयोग करना
read.csv
R में डेटा दर्ज करने के लिए उपयोग करें , फिर 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()
m <- melt(d, id = "x"); qplot(variable, value, data = m, colour = variable)
ग्राफिक्स के लिए अतीत में जाना मुश्किल है। आप वह कर सकते हैं जो आप 3 लाइनों में चाहते हैं। उदाहरण के लिए, csv फ़ाइल को संभालने के चार कॉलम हैं:
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)
आर निश्चित रूप से जवाब है। मैं सिर्फ रोब और कॉलिन के बारे में पहले ही कह चुका हूँ:
अपने भूखंडों की गुणवत्ता में सुधार करने के लिए, आपको काहिरा पैकेज का उपयोग करने पर विचार करना चाहिए आउटपुट डिवाइस के लिए । यह अंतिम ग्राफिक्स की गुणवत्ता में बहुत सुधार करेगा । आप बस प्लॉट करने से पहले फ़ंक्शन को कॉल करते हैं और यह आउटपुट डिवाइस के रूप में काहिरा को रीडायरेक्ट करता है।
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
यदि आपके पास लंबे समय से चल रही संगणनाएँ हैं, तो उनका उपयोग करें ।
मेरा पसंदीदा उपकरण मैथप्लोटलिब के साथ पायथन है
फायदे:
विशेष रूप से, svg और eps जैसे विभिन्न फ़ाइल स्वरूपों के लिए, savefig के प्रारूप पैरामीटर का उपयोग करें
एक उदाहरण: input.csv
"लाइन 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')
तीन लोकप्रिय दृश्य पुस्तकालयों के लिए नमूना दीर्घाओं पर एक नज़र डालें:
पहले दो के लिए, आप संबंधित स्रोत कोड भी देख सकते हैं - साधारण सामान सरल है, कोड की कई पंक्तियाँ नहीं। प्रीफ्यूज़ केस में अपेक्षित जावा बॉयलरप्लेट कोड होगा। सभी तीन बैकएंड / डिवाइस / रेंडरर्स (पीडीएफ, पीएस, पीएनजी, आदि) के एक नंबर का समर्थन करते हैं। तीनों स्पष्ट रूप से उच्च गुणवत्ता वाले ग्राफिक्स के लिए सक्षम हैं।
मुझे लगता है कि यह बहुत अधिक उबलता है कि आप किस भाषा में काम कर रहे हैं।
एक अन्य विकल्प Gnuplot है
आसान सापेक्ष है। कोई भी उपकरण तब तक आसान नहीं है जब तक आप यह नहीं जानते कि इसका उपयोग कैसे किया जाए। कुछ उपकरण पहली बार में अधिक कठिन दिखाई दे सकते हैं, लेकिन एक बार जब आप उन्हें मास्टर कर लेते हैं तो आपको बहुत अधिक सूक्ष्म नियंत्रण प्रदान करते हैं।
मैंने हाल ही में pgfplots में अपने प्लॉट बनाना शुरू किया है । एक LaTeX पैकेज (शीर्ष पर tikz
) होने के नाते , यह चीजों को अच्छा दिखने में विशेष रूप से अच्छा है। फ़ॉन्ट दस्तावेज़ के बाकी हिस्सों के अनुरूप होंगे और अपने भूखंडों को नेत्रहीन रूप से एकीकृत करना बहुत आसान है। यह भूखंड बनाने का सबसे आसान विकल्प नहीं है, लेकिन यह निश्चित रूप से प्रकाशन-गुणवत्ता वाले भूखंड बनाने का एक आसान तरीका है।