3

AchartEngine を使用して、複数の線 (折れ線グラフ) でグラフを描画しています。ズームインすると、ポイント間の線が消え、ポイントだけが表示されたままになります。誰もそのような問題を抱えていましたか?

ここに画像の説明を入力

ここに画像の説明を入力

コードは特別なものではありません。

XYMultipleSeriesDataset mDataset = new XYMultipleSeriesDataset(); XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();

    XYSeries IVseries=new XYValueSeries("IV");
    XYSeries IV_stc_series=new XYValueSeries("IVstc");


    for(double i=0;i<6;i=i+0.1){
        IVseries.add(sin(i),cos(i));
        IV_stc_series.add(2*sin(i),cos(i));
    }

    mDataset.addSeries(IVseries);
    mDataset.addSeries(IV_stc_series);

    XYSeriesRenderer IVrenderer = new XYSeriesRenderer ();
    IVrenderer.setFillPoints(true);
    IVrenderer.setPointStyle(PointStyle.TRIANGLE);
    IVrenderer.setLineWidth(5);
    IVrenderer.setColor(Color.GREEN);
    mRenderer.addSeriesRenderer(IVrenderer);

    XYSeriesRenderer IV_stc_renderer = new XYSeriesRenderer ();
    IV_stc_renderer.setFillPoints(true);
    IV_stc_renderer.setPointStyle(PointStyle.X);
    IV_stc_renderer.setLineWidth(5);
    IV_stc_renderer.setColor(Color.RED);
    mRenderer.addSeriesRenderer(IV_stc_renderer);

    mRenderer.setPanEnabled(true,true);
    mRenderer.setZoomEnabled(true, true);
    mRenderer.setZoomButtonsVisible(true);
    mRenderer.setXLabels(20);
    mRenderer.setYLabels(20);
    mRenderer.setShowGrid(true);
    mRenderer.setGridColor(Color.BLACK);
    mRenderer.setApplyBackgroundColor(true);
    mRenderer.setBackgroundColor(Color.WHITE);

    mChartView = ChartFactory.getLineChartView(context, mDataset, mRenderer);
    layout.addView(mChartView, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
            LinearLayout.LayoutParams.MATCH_PARENT));
4

3 に答える 3

2

次のコマンドを使用して、特定のビューに対してのみハードウェア アクセラレーションを無効にすることもできます。

View.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

これにより、chartengine に関する問題が解決されました。そして、はい、古い携帯電話では、レンダリングが著しくスムーズではありません...

于 2013-11-27T12:43:40.260 に答える
0

最終的に、AndroidManifest.xmlでハードウェアアクセラレーションを無効にすることでこれを解決しました

android:hardwareAccelerated="false"

このようにして、どれだけズームインしても、線は常にレンダリングされます。

于 2013-02-14T11:08:46.153 に答える