こんにちは、アンドロイド初心者です。私はチャートエンジンを使ってチャートを描画するアプリを開発しています〜今、線と線のすべての点ではなく、折れ線グラフのいくつかの点の色を変える必要があるという問題があります。
親クラス(GraphicalView)を拡張したほうがいいと思うのですが、こういうやり方だと頭がおかしくなりそうです~Android開発経験者に聞いてみました。
助けてください〜
こんにちは、アンドロイド初心者です。私はチャートエンジンを使ってチャートを描画するアプリを開発しています〜今、線と線のすべての点ではなく、折れ線グラフのいくつかの点の色を変える必要があるという問題があります。
親クラス(GraphicalView)を拡張したほうがいいと思うのですが、こういうやり方だと頭がおかしくなりそうです~Android開発経験者に聞いてみました。
助けてください〜
Okz私はAChart
ライブラリで作業していました。完全にカスタマイズ可能です。たとえば、チャート内の任意のものの色を変更できます。たとえば、その例を使用している場合AverageTemperatureChart
、チャートがどのようにレンダリングされるかのプロパティを保持するオブジェクトレンダラーが表示されますsetTitle
setTitleColor
など、あなたはそれを使用することができます
私があなたを正しく理解していれば、グラフの線のいくつかの点と線の一部の色を変えたいと思っています。私が考えられる最も簡単な方法は、既存の線の上に別の線や点のセットを別の色でプロットすることです。そのためのコードは次のようになります。
// your existing chartView, dataset, and renderer
GraphicalView mChartView;
XYMultipleSeriesDataset mDataset = new XYMultipleSeriesDataset();
XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer(2);
// new series, to plot it with different color
XYSeries newXYSeries = new XYSeries("");
XYSeriesRenderer newXYSeriesRenderer = new XYSeriesRenderer();
newXYSeries.add(0, 0); // add the points you want the color to be different
newXYSeriesRenderer.setColor(Color.BLACK); // set color
mRenderer.addSeriesRenderer(newXYSeriesRenderer);
mDataset.addSeries(newXYSeries);
// you might want to set the range to make sure that the lines are plotted on top of each other
// not sure if it is necessary
mRenderer.setRange(new double[] { MIN_X, MAX_X, MIN_Y, MA_Y });
それくらいだと思います。色を変えたいすべてのポイントを newXYSeries に追加する必要があります。