PDA

View Full Version : تشخیص مشخصات گراف+رسم



mahsa f
سه شنبه 10 اردیبهشت 1392, 23:19 عصر
سلام.من باید یه برنامه بنویسم که به صورت گرافیکی گراف رو رسم کنه و مشخصاتش رو بگه(با دریافت ریوس و یالها)
به خصوص برای رسم گراف چیزی بلد نیستم سردرگمم....
اگه کمک کنید ممنون میشم...
حتی نمیدونم از کجا باید شروع کنم؟!

javaphantom
سه شنبه 10 اردیبهشت 1392, 23:40 عصر
سلام.من باید یه برنامه بنویسم که به صورت گرافیکی گراف رو رسم کنه و مشخصاتش رو بگه(با دریافت ریوس و یالها)
به خصوص برای رسم گراف چیزی بلد نیستم سردرگمم....
اگه کمک کنید ممنون میشم...
حتی نمیدونم از کجا باید شروع کنم؟!

http://www.jfree.org/jfreechart/samples.html

JFree chart شامل api هایی است که به شما این امکان رو میده که بتونید با گراف ها کار کنید

mahsa f
چهارشنبه 11 اردیبهشت 1392, 17:30 عصر
سلام.میشه بیشتر توضیح بدید و نمونه برنامه بذارید؟
من تا حالا گرافیک کار نکردم و اصلا نمیدونم باید چی بخونم و از کجا شروع کنم؟!

javaphantom
چهارشنبه 11 اردیبهشت 1392, 21:14 عصر
توی سایت خودش که بهتون لینک دادم کلی مثا ل با کد داره.
http://www.vogella.com/articles/JFreeChart/article.html

mahsa f
جمعه 13 اردیبهشت 1392, 11:38 صبح
فقط مشکلی که هست اینه که زبانم زیاد قوی نیست واسه همین گفتم اگه توضیح بدید ممنون میشم!

javaphantom
جمعه 13 اردیبهشت 1392, 12:54 عصر
من همش می خوام کد نزنم نمی شه مثل اینکه سر مارو کلا می زارن :دی



/**
* Created with IntelliJ IDEA.
* User: babak
* Date: 5/3/13
* Time: 9:16 PM
* To change this template use File | Settings | File Templates.
*/

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;

import javax.swing.*;
import java.awt.*;

public class ChartOne extends JPanel {
public ChartOne() {
super();

// create a dataset...
XYSeries series1 = new XYSeries("Planned");
series1.add(1.0, 1.0);
series1.add(2.0, 4.0);
series1.add(3.0, -3.0);
series1.add(4.0, 5.0);
series1.add(5.0, 5.0);
series1.add(6.0, 7.0);
series1.add(7.0, 7.0);
series1.add(8.0, 8.0);

XYSeries series2 = new XYSeries("Delivered");
series2.add(1.0, 5.0);
series2.add(2.0, 7.0);
series2.add(3.0, 6.0);
series2.add(4.0, 8.0);
series2.add(5.0, -4.0);
series2.add(6.0, 4.0);
series2.add(7.0, 2.0);
series2.add(8.0, 1.0);

XYSeries series3 = new XYSeries("Third");
series3.add(3.0, 4.0);
series3.add(4.0, 3.0);
series3.add(5.0, 2.0);
series3.add(6.0, -3.0);
series3.add(7.0, 6.0);
series3.add(8.0, 3.0);
series3.add(9.0, -4.0);
series3.add(10.0, 3.0);

XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(series1);
dataset.addSeries(series2);
dataset.addSeries(series3);

JFreeChart chart = ChartFactory.createXYLineChart("Line chart", "X", "y", dataset, PlotOrientation.HORIZONTAL, true, true, true);


XYPlot plot = (XYPlot) chart.getPlot();
// plot.setSeriesPaint(0, Color.cyan);

// draw a horizontal line across the chart at y == 0
// plot.addRangeMarker(new Marker(0, Color.red, new BasicStroke(1), Color.red, 1f));

ChartPanel chartPanel = new ChartPanel(chart);

add(chartPanel);
}

public static void main(String[] args) {
JFrame frame = new JFrame("Chart One");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);

frame.getContentPane().add(new ChartOne(), BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
}