2012-09-22 13 views

Odpowiedz

9

Można utworzyć SurfaceView, w którym można narysować na Canvas w metodzie onDraw(). Aby narysować wykres, można użyć klasy Path i metod: moveTo() i lineTo(). Aby zmienić wygląd linii, użyj klasy Paint. Następnie użyj metody Canvases drawPath(), która pobiera obiekt Path i . Wydaje mi się, że jest nieco łatwiej zacząć niż OpenGl.

Some tutorial

Aktualizacja: Znalazłem pre tty dobrze wyglądająca biblioteka, która wygląda na łatwą w użyciu: MPAndroidChart

+0

Czy możemy użyć MPAndroidChat do wykreślenia relacji matematycznej, jak również Circle? Pytam o to, ponieważ AChartEngine nie obsługuje tego –

+0

Nie korzystałem z MPAndroidChart, widziałem go tylko na githubie, a z ładnej prezentacji i dokumentacji wydawało się, że jest to bardzo dobry wybór dla wykresów. Lepiej zapytaj o to od programisty, on/ona może ci pomóc. –

+0

@ bali182..Thanks –

1

Jak o próbie OpenGL ES?

można utworzyć GraphView który będzie rozciąga GLSurfaceView

przykład Code

public class GraphView extends GLSurfaceView { 

private Renderer renderer; 

public GraphView(Context context) { 
    super(context); 
    renderer = new GraphRenderer(); 
    setRenderer(renderer); 
} 
} 

i Twojego GraphRender

ublic class GraphRenderer implements Renderer { 

public void onDrawFrame(GL10 gl) { 
gl.glMatrixMode(GL10.GL_MODELVIEW); 
gl.glLoadIdentity(); 

GLU.gluLookAt(gl, 0, 0, -5, 0f, 0f, 0f, 0f, 1.0f, 1.0f); 
gl.glColor4f(1, 0, 0, .5f); 
} 

public void onSurfaceChanged(GL10 gl, int width, int height) { 
gl.glViewport(0, 0, width, height); 

float ratio = (float) width/height; 
gl.glMatrixMode(GL10.GL_PROJECTION); 
gl.glLoadIdentity(); 
gl.glFrustumf(-ratio, ratio, -1, 1, 3, 7); 
} 

public void onSurfaceCreated(GL10 gl, EGLConfig config) { 

} 

private void drawGraph(GL10 gl) { 
gl.glLineWidth(1.0f); 

// put your code here .. 


} 

public static int loadShader(int type, String shaderCode) { 
int shader = GLES20.glCreateShader(type); 
GLES20.glShaderSource(shader, shaderCode); 
GLES20.glCompileShader(shader); 
return shader; 
} 

}

można spróbować w ten sposób.

+1

tak, ale jak ja można ustawić czas na osi y 0,15 min różnicy? –

Powiązane problemy