Chcę narysować wykres, jak pokazano na załączonym obrazie.Jak narysować wykres w systemie Android?
Próbowałem już przez aChartEngine, ale to nie działa poprawnie.
Chcę narysować wykres, jak pokazano na załączonym obrazie.Jak narysować wykres w systemie Android?
Próbowałem już przez aChartEngine, ale to nie działa poprawnie.
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.
Aktualizacja: Znalazłem pre tty dobrze wyglądająca biblioteka, która wygląda na łatwą w użyciu: MPAndroidChart
Czy możemy użyć MPAndroidChat do wykreślenia relacji matematycznej, jak również Circle? Pytam o to, ponieważ AChartEngine nie obsługuje tego –
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. –
@ bali182..Thanks –
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.
tak, ale jak ja można ustawić czas na osi y 0,15 min różnicy? –
http://stackoverflow.com/questions/424752/any-good-graphing- pakiety- dla-androida może ci pomóc ... – nKandel