嗨,我正在尝试开发一个现场测试应用程序,我将检索信息,如相邻单元格的信号强度。
所以我的问题是:
如何显示不同相邻单元格的图形 X轴和Y轴上的信号强度是实时的吗?一个例子 here
我已经有5个或6个相邻的小区,每个小区都有他的信号强度。
答案 0 :(得分:12)
使用Canvas手动绘制自己的图形,您可以使用图表引擎库,这样做也会更容易。
赞AchartEngine,ChartDroid,aFreeChart,MPAndroidChart
对于3D图表Charts4J
如何显示不同相邻单元格的图形 X轴和Y轴上的实时信号强度?
我在我的一个应用程序中使用了aChart Engine。该库提供了完整的API演示,因此很容易理解如何使用它。
答案 1 :(得分:1)
我不知道您要开发哪种类型的图表,因为您的链接有不同的类型。但是我在android中开发了一个实时线图。我用画布绘制线条。
public class GraphView extends View
{
...
private final Rect rect = new Rect();
private final Paint linePaint = new Paint();
private final Paint backgroundPaint = new Paint();
private float[] points;
public GraphView(final Context context, final AttributeSet aSet)
{
super(context, aSet);
}
@Override
protected void onDraw(final Canvas canvas)
{
if (points == null)
{
return;
}
canvas.drawLines(points, linePaint);
rect.set((int) (xIndex * xScale), 0, (int) (xIndex * xScale + 5), getHeight());
canvas.drawRect(rect, backgroundPaint);
}
...
}
您可以根据需要轻松定位/调整矩形。我没有写过xIndex和xScale的计算。点数组是您的值将被写入的数组。
但要注意,在android线条中用对子绘制,我知道没有“点”结构。
我的意思是[1,0.25,2,0.45]在x1 = 1,y1 = 0.25和x2 = 2之间画一条线,y2 = 0.45
您也可以通过postInvalidate()
触发绘制答案 2 :(得分:1)
我建议您使用AChartEngine而不是绘制画布。 您可以下载库,javadocs和演示应用程序here。
有关使用AChartEngine入门的youtube教程。
您可以使用折线图下面的区域填充颜色或未填充的折线图,以复制您提供的第一个屏幕截图中的功能。