2013-07-31 2 views
0

링크의 그림에 표시된대로 Jfreechart로 3D 실린더 막대 차트를 만들어야합니다 : http://www.jzy3d.org/gallery/web/demo-histogram.png. 두 코드 줄에 문제가 있습니다 : chart.getAxeLayout().setMainColor(Color.WHITE);chart.getView().setBackgroundColor(Color.BLACK);, 모두 주 방법입니다. 아무도 문제가 뭔지 알고 있습니까? 코드에서 미리Jfreechart가있는 3D 실린더 막대 차트

import java.awt.Color; 

import org.jzy3d.chart.Chart; 
import org.jzy3d.chart.ChartLauncher; 
import org.jzy3d.colors.ColorMapper; 
import org.jzy3d.colors.colormaps.ColorMapRainbow; 
import org.jzy3d.maths.Coord3d; 
import org.jzy3d.plot3d.primitives.MultiColorScatter; 

public class chart 
{ 
    int size = 100000; 
    float x; 
    float y; 
    float z; 
    public void crtaj() 
    { 
     Coord3d[] points = new Coord3d[size]; 

     // Create scatter points 
     for(int i=0; i<size; i++){ 
      x = (float)Math.random() - 0.5f; 
      y = (float)Math.random() - 0.5f; 
      z = (float)Math.random() - 0.5f; 
      points[i] = new Coord3d(x, y, z); 
     }  

     // Create a drawable scatter with a colormap 
     MultiColorScatter scatter = new MultiColorScatter(points, new ColorMapper(new ColorMapRainbow(), -0.5f, 0.5f)); 

     // Create a chart and add scatter 
     Chart chart = new Chart(); 
     chart.getAxeLayout();//.setMainColor(Color.WHITE); 
     chart.getView();//.setBackgroundColor(Color.BLACK); 
     chart.getScene().add(scatter); 
     ChartLauncher.openChart(chart); 
    } 

    public static void main(String[] args) 
    { 
     /*chart proba = new chart(); 
     proba.crtaj();*/ 

     int size = 100000; 
     float x; 
     float y; 
     float z; 
     Coord3d[] points = new Coord3d[size]; 

     // Create scatter points 
     for(int i=0; i<size; i++){ 
      x = (float)Math.random() - 0.5f; 
      y = (float)Math.random() - 0.5f; 
      z = (float)Math.random() - 0.5f; 
      points[i] = new Coord3d(x, y, z); 
     }  

     // Create a drawable scatter with a colormap 
     MultiColorScatter scatter = new MultiColorScatter(points, new ColorMapper(new ColorMapRainbow(), -0.5f, 0.5f)); 

     Chart chart = new Chart(); 
     chart.getAxeLayout().setMainColor(Color.WHITE); 
     chart.getView().setBackgroundColor(Color.BLACK); 
     chart.getScene().add(scatter); 
     ChartLauncher.openChart(chart); 
    } 
} 
+0

두 줄의 코드에 대한 문제점을 설명해 주실 수 있습니까? – StormeHawke

+0

그리고 예외 : 스레드 "main"의 예외 java.lang.Error : 해결되지 않은 컴파일 문제 : \t IAxeLayout 유형의 setMainColor (Color) 메서드는 인수에 사용할 수 없습니다. (Color) \t 메서드 setBackgroundColor (Color)이 인수 (Color)에 적용되지 않습니다. – user2638446

+0

메소드에 전달하려고하는'Color'의 완전한 클래스 이름이'Color' 클래스의 완전한 클래스 이름과 일치하는지 다시 확인하십시오. 그 방법은 예상하고있다. – StormeHawke

답변

0

에서

감사합니다, 당신은 java.awt.Color을 가져 왔습니다. java.awt.Color 대신 org.jzy3d.colors.Color을 가져와야합니다. java.awt.Color 가져 오기를 제거하고 다음과 같이 import 문을 추가합니다 : 작동하는 것입니다

import org.jzy3d.colors.Color; 

.