1

3D 散布図の点の色を変更しようとしています。ポイントが希望の色ではなく黒に変わり、キーのポイントが正しい色に変わります。なぜこれが起こるのか誰にも分かりますか?

import com.panayotis.gnuplot.JavaPlot;
import com.panayotis.gnuplot.plot.*;
import com.panayotis.gnuplot.style.NamedPlotColor;
import com.panayotis.gnuplot.style.PlotStyle;
import com.panayotis.gnuplot.style.Style;


public class ScatterPlot4D {

public static void main(String[] args) {

    int rows = 100;
    int D = 4;

    double [][] dataSet = new double [rows][D];
    for(int x = 0;x < rows; x++){
        for(int y = 0;y < D; y++){
            dataSet[x][y]=Math.random();
        }
    }

    JavaPlot p = new JavaPlot("C:\\Program Files\\gnuplot\\bin\\pgnuplot.exe");       
    p.newGraph3D();

    PlotStyle myStyle = new PlotStyle();
    myStyle.setStyle(Style.POINTS);
    myStyle.setLineType(NamedPlotColor.BLUE); 

    DataSetPlot myPlot = new DataSetPlot(dataSet);  
    myPlot.setPlotStyle(myStyle);

    p.addPlot(myPlot);

    p.splot();

}
}

奇妙なのは、関数をグラフ化するときにこれが機能することです。

import com.panayotis.gnuplot.GNUPlot;
import com.panayotis.gnuplot.plot.*;
import com.panayotis.gnuplot.style.NamedPlotColor;
import com.panayotis.gnuplot.style.PlotStyle;
import com.panayotis.gnuplot.style.Style;

public class test3D {

public static void main(String[] args) {

    GNUPlot p = new GNUPlot("C:\\Program Files\\gnuplot\\bin\\pgnuplot.exe");

    p.newGraph3D();

    PlotStyle myStyle = new PlotStyle();
    myStyle.setStyle(Style.IMPULSES);
    myStyle.setLineType(NamedPlotColor.BLUE); 

    FunctionPlot myPlot = new FunctionPlot("tan(x)");
    myPlot.setTitle("3D Plot");
    myPlot.setPlotStyle(myStyle);

    p.addPlot(myPlot);

    p.splot();

}

}

gnuplot に次のコマンドが送信されます。

gnuplot> set multiplot layout 1,2 rowsfirst downwards
multiplot> _gnuplot_error = 1
multiplot> splot '-' title 'Datafile 1' with points linetype rgb 'blue' ;_gnuplot_error = 0X
input data ('e' ends) > random data is here, not included for brevity
multiplot> if (_gnuplot_error == 1) print '_ERROR_'
 multiplot> unset multiplot
4

2 に答える 2

0

まあ、必要なのは、散布図で setLineType の代わりに setPointType を使用することだと思います。ポイントしかありません。

于 2012-07-10T01:38:57.593 に答える
0

mgilson がコメントで述べたように:

 use myStyle.setLineType(3);

(@mgilson、もしあなたが答えの功績を認めたいのなら、自分で書いて、私にメッセージを送ってください。代わりに受け入れます_

于 2013-06-24T18:35:52.037 に答える