我使用了AChartEngine
。任何人都可以帮助我从我的绘图中为我的折线图添加pointstyle。
默认情况下,点样式很少,例如PointStyle CIRCLE/ TRIANGLE/SQUARE/DIAMOND/POINT/X...
但我希望我的观点来自我的可绘制文件夹..
我希望我的图表点看起来像这样。
当我点击图表上的任何一点时,我想要显示32个重复患者的标签..
请帮忙.. 我使用了以下代码
private void MultipleSeriesGraph() {
// TODO Auto-generated method stub
setRendererStyling();
if (mChartView == null) {
LinearLayout layout = (LinearLayout) rootView
.findViewById(R.id.linChart);
mChartView = ChartFactory.getLineChartView(getActivity(), mDataset,
mRenderer);
mRenderer.setSelectableBuffer(100);
layout.addView(mChartView);
} else
mChartView.repaint();
}
private void setRendererStyling() {
mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.WHITE);
mRenderer.setMarginsColor(Color.WHITE);
mRenderer.setShowLegend(false);
// for setting background as transparent
// renderer.setMarginsColor(Color.argb(0x00, 0x01, 0x01, 0x01));
mRenderer.setAxesColor(Color.WHITE);
mRenderer.setPointSize(3);
}
private XYMultipleSeriesDataset getDemoDataset() {
double[] seriesFirstY = { 35, 20, 37, 45, 27, 35, 30 };
double[] seriesSecondY = { 20, 15, 30, 40, 20, 30, 25 };
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
XYSeries firstSeries = new XYSeries("Repeat");
for (int i = 0; i < 7; i++)
firstSeries.add(i, seriesFirstY[i]);
dataset.addSeries(firstSeries);
XYSeries secondSeries = new XYSeries("New Patient");
for (int j = 0; j < 7; j++)
secondSeries.add(j, seriesSecondY[j]);
dataset.addSeries(secondSeries);
return dataset;
}
private XYMultipleSeriesRenderer getDemoRenderer() {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
renderer.setMargins(new int[] { 0, 30, 0, 30 });
XYSeriesRenderer r = new XYSeriesRenderer();
r.setColor(Color.rgb(169, 206, 215));
r.setPointStyle(PointStyle.CIRCLE);
r.getPointStyle();
r.setFillBelowLine(true);
r.setFillBelowLineColor(Color.rgb(228, 239, 243));
r.setFillPoints(true);
renderer.addSeriesRenderer(r);
r = new XYSeriesRenderer();
r.setPointStyle(PointStyle.CIRCLE);
r.setFillBelowLine(true);
r.setFillBelowLineColor(Color.rgb(255, 240, 211));
r.setColor(Color.rgb(245, 164, 119));
r.setFillPoints(true);
renderer.setYLabelsAlign(Align.RIGHT);
renderer.setYLabelsColor(0, Color.WHITE);
renderer.setXLabels(0);
renderer.addSeriesRenderer(r);
renderer.setShowGridY(false);
// renderer.addXTextLabel(1, "2013");
String[] date = { "Feb 15", "Feb 16", "Feb 17", "Feb 18", "Feb 19",
"Feb 20", "Feb 21" };
for (int i = 0; i < date.length; i++) {
renderer.addXTextLabel(i, date[i]);
}
// renderer.setLabelsColor(Color.LTGRAY);
renderer.isShowLegend();
renderer.setPanEnabled(false, false);
return renderer;
}
}