Android 用于向图形添加填充的aChartEngine线图设置yaxismax
我正在尝试通过将min和max值设置为X和Y轴,在图表中添加一些填充 我的XYMultipleSeriesRenderer代码如下:Android 用于向图形添加填充的aChartEngine线图设置yaxismax,android,padding,achartengine,linegraph,Android,Padding,Achartengine,Linegraph,我正在尝试通过将min和max值设置为X和Y轴,在图表中添加一些填充 我的XYMultipleSeriesRenderer代码如下: // custom render XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); // background renderer.setBackgroundColor(Color.parseColor("#ffffff")); r
// custom render
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
// background
renderer.setBackgroundColor(Color.parseColor("#ffffff"));
renderer.setMarginsColor(Color.parseColor("#ffffff"));
renderer.setPointSize(pointStrokeWidth);
renderer.setPanEnabled(true, true);
//renderer.setPanEnabled(false);
renderer.setShowLegend(false);
// renderer.setZoomEnabled(false);
renderer.setInScroll(true);
renderer.setClickEnabled(true);
renderer.setXLabels(0);
// setscale
// renderer.setScale((float) 1.5);
//renderer.setShowAxes(true);
// label padding and size
renderer.setShowCustomTextGrid(true);
renderer.setLabelsTextSize(20);
renderer.setXAxisMin(-0.2f);
double maxX = dashboard.getDaysDashboard().size()-0.9F;
renderer.setXAxisMax(maxX);
renderer.setYAxisMin(-0.3f);
double maxY = dashboard.maxNumberOfContent()-5.0F;
Log.d(TAG, "max y: "+maxY);
renderer.setYAxisMax(maxY);
// y
renderer.setYLabelsPadding(20);
renderer.setYLabelsAlign(Align.LEFT);
// x
renderer.setXLabelsPadding(20);
renderer.setXLabelsAlign(Align.CENTER);
// margins - an array containing the margin size values, in this order:
// top, left, bottom, right
int[] margins = {10, 30, 0, 10 };
renderer.setMargins(margins);
如果我设置了不同的maxX值,我可以看到我的图形发生了变化。若我改变了最大值,那个么图形并没有改变!我尝试将+/-1设置为线条的最大Y值,或将+/-100相加,我尝试使用int或double,但没有!为什么不通过更改Y轴值来更改图形填充
您可以尝试以下方法:
mRenderer.setMargins(new int[] {0, 50, 0, 0});
第二个参数代表图形的上边距
或
您可以尝试以下方法:
mRenderer.setMargins(new int[] {0, 50, 0, 0});
第二个参数代表图形的上边距
或
我用这个密码解决了:
// * ASSIX Y *
renderer.setYLabels(0);
renderer.setYLabelsPadding(35);
renderer.setYLabelsAlign(Align.RIGHT);
// Y max
renderer.setYAxisMax(dashboard.maxNumberOfContent());
// set ASSY numbers label
int unit = dashboard.maxNumberOfContent() / 5;
for (int i = 0; i <= 5; i++) {
String yLabel = "" + unit * i;
renderer.addYTextLabel((unit*i), yLabel);
}
renderer.addYTextLabel(dashboard.maxNumberOfContent(), dashboard.maxNumberOfContent()+"");
renderer.setYAxisMax(dashboard.maxNumberOfContent()+(unit/2));
// * ASSIX X *
renderer.setXLabels(0);
renderer.setXLabelsPadding(0);
renderer.setXLabelsAlign(Align.CENTER);
// X max
double maxX = dashboard.getDaysDashboard().size() - 0.9F;
renderer.setXAxisMax(maxX);
// X days label
ArrayList<String> dayNames = getWeekDaysDashboard();
for (int i = 0; i < days.size(); i++) {
renderer.addXTextLabel(days.get(i), dayNames.get(i));
}
// CUSTOM STYLE LINE CHART
// * background
renderer.setBackgroundColor(Color.parseColor("#ffffff"));
renderer.setMarginsColor(Color.parseColor("#ffffff"));
renderer.setPointSize(pointStrokeWidth);
renderer.setInScroll(true);
renderer.setClickEnabled(true);
renderer.setZoomEnabled(false, false);
renderer.setPanEnabled(false, false);
renderer.setShowLegend(false);
renderer.setShowAxes(true);
// label padding and size
renderer.setShowCustomTextGrid(true);
renderer.setLabelsTextSize(40.0f);
renderer.setXAxisMin(-0.2f);
int yMin = -(unit/5);
Log.d(TAG, "ymin: "+yMin+" // unit: "+unit);
if (yMin < 1) {
yMin = -1;
}
renderer.setYAxisMin(yMin);
// *** margins: top, left, bottom, right
int[] margins = { 10, 60, 10, 30 };
renderer.setMargins(margins);
//*ASSIX Y*
1.setYLabels(0);
3.Setylabelspading(35);
renderer.setYLabelsAlign(Align.RIGHT);
//Y最大值
renderer.setYAxisMax(dashboard.maxNumberOfContent());
//设置组件编号标签
int unit=dashboard.maxNumberOfContent()/5;
对于(int i=0;ii),使用此代码求解:
// * ASSIX Y *
renderer.setYLabels(0);
renderer.setYLabelsPadding(35);
renderer.setYLabelsAlign(Align.RIGHT);
// Y max
renderer.setYAxisMax(dashboard.maxNumberOfContent());
// set ASSY numbers label
int unit = dashboard.maxNumberOfContent() / 5;
for (int i = 0; i <= 5; i++) {
String yLabel = "" + unit * i;
renderer.addYTextLabel((unit*i), yLabel);
}
renderer.addYTextLabel(dashboard.maxNumberOfContent(), dashboard.maxNumberOfContent()+"");
renderer.setYAxisMax(dashboard.maxNumberOfContent()+(unit/2));
// * ASSIX X *
renderer.setXLabels(0);
renderer.setXLabelsPadding(0);
renderer.setXLabelsAlign(Align.CENTER);
// X max
double maxX = dashboard.getDaysDashboard().size() - 0.9F;
renderer.setXAxisMax(maxX);
// X days label
ArrayList<String> dayNames = getWeekDaysDashboard();
for (int i = 0; i < days.size(); i++) {
renderer.addXTextLabel(days.get(i), dayNames.get(i));
}
// CUSTOM STYLE LINE CHART
// * background
renderer.setBackgroundColor(Color.parseColor("#ffffff"));
renderer.setMarginsColor(Color.parseColor("#ffffff"));
renderer.setPointSize(pointStrokeWidth);
renderer.setInScroll(true);
renderer.setClickEnabled(true);
renderer.setZoomEnabled(false, false);
renderer.setPanEnabled(false, false);
renderer.setShowLegend(false);
renderer.setShowAxes(true);
// label padding and size
renderer.setShowCustomTextGrid(true);
renderer.setLabelsTextSize(40.0f);
renderer.setXAxisMin(-0.2f);
int yMin = -(unit/5);
Log.d(TAG, "ymin: "+yMin+" // unit: "+unit);
if (yMin < 1) {
yMin = -1;
}
renderer.setYAxisMin(yMin);
// *** margins: top, left, bottom, right
int[] margins = { 10, 60, 10, 30 };
renderer.setMargins(margins);
//*ASSIX Y*
1.setYLabels(0);
3.Setylabelspading(35);
renderer.setYLabelsAlign(Align.RIGHT);
//Y最大值
renderer.setYAxisMax(dashboard.maxNumberOfContent());
//设置组件编号标签
int unit=dashboard.maxNumberOfContent()/5;
对于(int i=0;i Hello Lavkush Agrawal,感谢您的回复。我的问题不是Y标签与Y轴之间的填充,而是行之间的填充(XY多个系列)和图顶边距。不过,我尝试了你的剪接代码,但它并没有解决我的问题。无论如何,感谢您为我提供的唯一标签mrender.setxlabelspading(10);mrender.setylabelspading(10);和setMargins适用于孔图形的左、右、上和下边距。您好,Lavkush Agrawal,谢谢您的回复。我的问题不是Y标签与Y轴之间的填充,而是线之间的填充(一系列XYMultipleSeries)和图形顶部边距。但是,我尝试了你的剪接代码,但它并没有解决我的问题。无论如何,感谢只为我工作的标签mrender.setxlabelspading(10);mrender.setylabelspading(10);和setMargins是孔图形左、右、顶部和底部边距的工作。int[]margins={10,30,0,10};renderer.setMargins(边距);
已经在我的代码中..设置您的值并不能解决我的问题。无论如何,谢谢!增加margin top的值。数组的第一个元素用于margin top更改您正在使用的值10它的最小值准备好了:设置10或100在我的情况下没有任何更改。结果是一样的。int[]margins={10,30,0,10};renderer.setMargins(margins);
已在我的代码中..设置您的值并不能解决我的问题。无论如何,谢谢!增加margin top的值。数组的第一个元素是margin top更改您正在使用的值10它的最小值准备就绪:设置10或100在我的情况下没有任何更改。结果相同。