AchartEngine を使用して折れ線グラフを描画しています。
私がやったこと: Achart Engine を使用して LineGraph を作成したい。ただし、Barchart で行うように、別の色のグラデーションを有効にします。
安心して折れ線グラフを作成できました。
Gradient は、Achart Engine の範囲棒グラフでのみサポートされていることを知っています。ただし、これにはいくつかの回避策があるはずです。
Do My Code is As below :
public GraphicalView graph(Context context) {
String[] titles = new String[] { "Nike Line Graph" };
List<double[]> values = new ArrayList<double[]>();
values.add(new double[] { 14230, 12300, 14240, 15244, 14900, 12200,
11030, 12000, 12500, 15500, 14600, 15000 });
int length = values.get(0).length;
Log.d("****length*********", "" + length);
int[] colors = new int[] { Color.GREEN };
PointStyle[] styles = new PointStyle[] { PointStyle.POINT };
XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles);
setChartSettings(renderer, "Monthly sales in the last 2 years",
"Month", "Units sold", 0.75, 12.25, 10000, 19000,
Color.argb(0x00, 0x01, 0x01, 0x01),
Color.argb(0x00, 0x01, 0x01, 0x01));
renderer.setChartTitleTextSize(20);
renderer.setTextTypeface("sans_serif", Typeface.BOLD);
renderer.setLabelsTextSize(0f);
renderer.setLabelsColor(Color.argb(0x00, 0x01, 0x01, 0x01));
renderer.setAxisTitleTextSize(15);
renderer.setApplyBackgroundColor(true);
renderer.setBackgroundColor(Color.argb(0x00, 0x01, 0x01, 0x01));
renderer.setLegendTextSize(15);
renderer.setScale(10);
renderer.setShowAxes(false);
renderer.setXLabelsColor(Color.argb(0x00, 0x01, 0x01, 0x01));
renderer.setYLabelsColor(0, Color.argb(0x00, 0x01, 0x01, 0x01));
renderer.setMarginsColor(Color.argb(0x00, 0x01, 0x01, 0x01));
renderer.setPanEnabled(false, false);
renderer.setZoomEnabled(false, false);
length = renderer.getSeriesRendererCount();
SimpleSeriesRenderer r1 = new SimpleSeriesRenderer();
r1.setGradientEnabled(true);
r1.setGradientStart(-50, Color.BLACK);
r1.setGradientStop(50, Color.GREEN);
Log.d("****length*********", "" + length);
for (int i = 0; i < length; i++) {
XYSeriesRenderer r = (XYSeriesRenderer) renderer
.getSeriesRendererAt(i);
r.setLineWidth(5f);
}
GraphicalView v = ChartFactory.getCubeLineChartView(context,
buildBarDataset(titles, values), renderer, 0.5f);
return v;
}
メソッドを持つことで:
protected XYMultipleSeriesRenderer buildRenderer(int[] colors,
PointStyle[] styles) {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
setRenderer(renderer, colors, styles);
return renderer;
}
protected void setRenderer(XYMultipleSeriesRenderer renderer, int[] colors,
PointStyle[] styles) {
renderer.setAxisTitleTextSize(16);
renderer.setChartTitleTextSize(20);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
renderer.setPointSize(5f);
renderer.setMargins(new int[] { 20, 30, 15, 20 });
int length = colors.length;
for (int i = 0; i < length; i++) {
XYSeriesRenderer r = new XYSeriesRenderer();
r.setColor(colors[i]);
r.setPointStyle(styles[i]);
renderer.addSeriesRenderer(r);
}
私がこれを取得しているのは、以下のようなスクリーンショットです:
私が欲しいもの:
質問 :この折れ線グラフにグラデーション カラーを追加したいと考えています。ある色から別の色へ。
どんな助けでも大歓迎です。
少し早いですがお礼を。