मुझे यकीन नहीं है कि यह संभव है, खासकर जब जावा एक वीएम के माध्यम से चलता है, लेकिन क्या मैं जावा के भीतर से gnuplot को कॉल कर सकता हूं? शायद मैं जावा टर्मिनल खोल सकता हूं और इनपुटजावा से gnuplot कॉलिंग? (ubuntu)
gnuplot
plot ...
आदि?
मुझे यकीन नहीं है कि यह संभव है, खासकर जब जावा एक वीएम के माध्यम से चलता है, लेकिन क्या मैं जावा के भीतर से gnuplot को कॉल कर सकता हूं? शायद मैं जावा टर्मिनल खोल सकता हूं और इनपुटजावा से gnuplot कॉलिंग? (ubuntu)
gnuplot
plot ...
आदि?
उपयोग gnujavaplot।
आप कमांड लाइन या मानक इनपुट से सभी इनपुट लेने के (या एक फ़ाइल से इसे पढ़ने) और फ़ाइलों के लिए इसके उत्पादन के साथ-साथ लिखने के लिए gnuplot प्राप्त कर सकते हैं, तो ProcessBuilder
का उपयोग कर ऐसा करने में कोई समस्या नहीं होनी चाहिए।
मैं कुछ इसी तरह की एक समय पहले किया था। मैं विवरण पर आलसी हूं, लेकिन मैं पुष्टि कर सकता हूं कि ग्नुपलॉट फाइलों से अपने सभी इनपुट को स्लर्प करने में खुश है। यह बहुत पटकथा है। –
आप "कार्यकारी" कमांड का प्रयोग किसी भी बाहरी एप्लिकेशन लॉन्च कर सकते हैं।
http://java.sun.com/javase/6/docs/api/java/lang/Runtime.html
कुछ उदाहरण के लिए इस पृष्ठ देखें। http://www.rgagnon.com/javadetails/java-0014.html
संपादित करें: मैं प्रोसेसबिल्डर के बारे में भूल गया। माइकल बोर्गवर्ड का जवाब एक और मजबूत समाधान है।
यह डेबियन पर काम करता है:
String[] s = {"/usr/bin/gnuplot",
"-e",
"set term jpeg large size 800,600;set autoscale; set grid;set format y \"%0.f\";set output \"plot.jpg\";set xdata time;set timefmt \"%Y-%m-%d-%H:%M:%S\";set xlabel \"Dates\";set ylabel \"Data transferred (bytes)\";plot \""+x+"\" using 1:2 title \"Total:"+tot+"\" with linespoints;"
};
try {
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(s);
InputStream stdin = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stdin);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ((line = br.readLine()) != null)
System.err.println("gnuplot:"+line);
int exitVal = proc.waitFor();
if (exitVal != 0)
log("gnuplot Process exitValue: " + exitVal);
proc.getInputStream().close();
proc.getOutputStream().close();
proc.getErrorStream().close();
} catch (Exception e) {
System.err.println("Fail: " + e);
}
उपयोग JavaGnuplotHybrid पुस्तकालय।
यह बहुत हल्का वजन (केवल 3 कोर वर्ग) है और जावा और ग्नुपलॉट के साथ हाइब्रिड प्रोग्रामिंग को सक्षम बनाता है। जावा और gnuplot
अधिक जानकारी के लिए:
क्या इसमें एक मैवेन रिपोजिटरी है? मैं अपनी परियोजना में एक जार नहीं डालूंगा। – ahll
बिल्कुल सही! धन्यवाद। – rhombidodecahedron
जब मैंने यह जवाब देखा तो मैंने बस लॉल किया। :) –
प्रोजेक्ट निष्क्रिय है –