코드로 계산 된 값에서 XY 차트를 생성 할 수있는 응용 프로그램을 만들려고합니다.코드로 계산 된 배열을 사용한 그래프 플로팅
기본적으로 차트에 플롯 할 6 개의 시리즈가 있습니다. 나는 따라 갔다. androidplot tutorial
결국 차트의 X 축을 플로팅하려 할 때, 나는 어떻게 할 것인가에 어려움을 겪었다. 좀 도와 줄 수 있겠 니? 튜토리얼을 따라도 이것을 수행하는 방법을 모른다.
코드는 다음과 같이 구성됩니다. 사용자 데이터 입력,이 데이터에서 프로그램은 여러 계산을 수행하고 배열을 생성합니다. 나는이 어레이들을 플로팅하고 싶다.
Arrays: (
Momento_dominio1(),
Normal_dominio1()
), (
Momento_dominio2(),
Normal_dominio2()
),(
Momento_dominio3(),
Normal_dominio3()
)
각각은 public double에 있고 배열을 반환합니다. 다음
코드
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_resultado);
graph = (XYPlot) findViewById(R.id.graph);
XYSeries dominio1 = new SimpleXYSeries(Arrays.asList(this.Momento_Dominio1()), Arrays.asList(this.Normal_Dominio1()), "Domínio 1");
XYSeries dominio2 = new SimpleXYSeries(Arrays.asList(this.Momento_Dominio2()), Arrays.asList(this.Normal_Dominio2()), "Domínio 2");
XYSeries dominio3 = new SimpleXYSeries(Arrays.asList(this.Momento_Dominio3()), Arrays.asList(this.Normal_Dominio3()), "Domínio 3");
LineAndPointFormatter dominio1Format = new LineAndPointFormatter(Color.RED, Color.GREEN, Color.BLUE, null);
LineAndPointFormatter dominio2Format = new LineAndPointFormatter(Color.GREEN, Color.GREEN, Color.BLUE, null);
LineAndPointFormatter dominio3Format = new LineAndPointFormatter(Color.BLUE, Color.GREEN, Color.BLUE, null);
dominio1Format.getLinePaint().setPathEffect(new DashPathEffect(new float[] {
PixelUtils.dpToPix(10),
PixelUtils.dpToPix(10)}, 0));
dominio2Format.getLinePaint().setPathEffect(new DashPathEffect(new float[] {
PixelUtils.dpToPix(10),
PixelUtils.dpToPix(10)}, 0));
dominio3Format.getLinePaint().setPathEffect(new DashPathEffect(new float[] {
PixelUtils.dpToPix(10),
PixelUtils.dpToPix(10)}, 0));
dominio1Format.setInterpolationParams(new CatmullRomInterpolator.Params(10, CatmullRomInterpolator.Type.Centripetal));
dominio2Format.setInterpolationParams(new CatmullRomInterpolator.Params(10, CatmullRomInterpolator.Type.Centripetal));
dominio3Format.setInterpolationParams(new CatmullRomInterpolator.Params(10, CatmullRomInterpolator.Type.Centripetal));
graph.addSeries(dominio1, dominio1Format);
graph.addSeries(dominio2, dominio2Format);
graph.addSeries(dominio3, dominio3Format);
}
내가 Momento_dominio1 및 Normal_dominio1 (이 다른 사람에게 적용 Momento_dominio2, Momento_dominio3, Normal_dominio2 및 Normal_dominio3가)
public double Normal_Dominio1() {
angulo_variavel_dominio1 = 0;
for (i=0; i<100; i++){
Normal_dominio1 = this.Normal_Aco_Compressao_Dominio1() + this.Normal_Aco_Tracao_Dominio1(); // Como ambos estão em tração, o sinal é positivo
Normal_vetor_dominio1[i] = Normal_dominio1; // O for é composto por 100 passadas, logo, cada passada deve ser salvo em uma parte do vetor
angulo_variavel_dominio1 = angulo_variavel_dominio1 + (this.Angulo_Dominio1_Secao()/100);
}
return Normal_vetor_dominio1[i];
}
public double Momento_Dominio1() {
angulo_variavel_dominio1 = 0;
for (i=0; i<100; i++){
Momento_dominio1 = -this.Momento_Aco_Compressao_Dominio1() + this.Momento_Aco_Tracao_Dominio1(); // Como ambos estão em tração, o sinal é positivo
Momento_vetor_dominio1[i] = Momento_dominio1; // O for é composto por 100 passadas, logo, cada passada deve ser salvo em uma parte do vetor
angulo_variavel_dominio1 = angulo_variavel_dominio1 + (this.Angulo_Dominio1_Secao()/100);
}
return Momento_vetor_dominio1[i];
}
문제의 구체적인 특성을 이해하는 데 약간의 문제가 있습니다.하지만 yVals와 함께 xVals를 포함하는 방법에 어려움을 겪고있는 것 같습니다. – Nick
정확! X 축을 추적하는 부분은 내가 이해하는 한 코드 상단에 있습니다. –