please help me, I use the GraphView library (http://www.jjoe64.com/p/graphview-library.html), it works. But i don't understand how to reset previous data.
Method redrawAll()
does not work.
IT'S MY CODE:
public class MainActivity extends Activity implements OnClickListener{
private final static int DIALOG_ID=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnDialog=(Button)findViewById(R.id.btnDialog);
btnDialog.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.btnDialog:
createGraph();
break;
}
}
//graph create method
void createGraph(){
// draw sin curve
int num = 100;
GraphViewData[] data = new GraphViewData[num];
GraphView graphView;
double v=0;
for (int i=0; i<num; i++) {
v += 0.50;
data[i] = new GraphViewData(i, Math.random()*v);
}
// graph with dynamically genereated horizontal and vertical labels
graphView = new LineGraphView(
getBaseContext()
, "myGraph"
);
graphView.redrawAll();
((LineGraphView) graphView).setDrawBackground(true);
// add data
graphView.addSeries(new GraphViewSeries(data));
// set view port, start=2, size=10
graphView.setViewPort(2, 40);
graphView.setScalable(true);
LinearLayout layout = (LinearLayout)findViewById(R.id.lvGraphView);
layout.addView(graphView);
}
}
I guess by reset you mean to clear all the graph and then draw something new again? Then you could use graphView.removeAllSeries();
.
one way is to remove the graphview View and completely recreate it.
The other way is to use the realtime feature. you should use the latest version of graphview directly from github.
You can change the data in the series using resetData
or appendData
. Take a look into the GraphView-Demo project on github.
exampleSeries1.resetData(new GraphViewData[] {
new GraphViewData(1, getRandom())
, new GraphViewData(2, getRandom())
, new GraphViewData(2.5, getRandom()) // another frequency
, new GraphViewData(3, getRandom())
, new GraphViewData(4, getRandom())
, new GraphViewData(5, getRandom())
});
来源:https://stackoverflow.com/questions/15913017/graphview-and-resetdata