截图显示了相同数据的三次贝塞尔模式和不三次贝塞尔模式的图表。如你所见,当立方贝塞尔模式是启用,线ECXEED的最小和最大值,我需要显示在图表作为限制线,它看起来非常糟糕。
有什么办法可以解决这个问题吗??
private void setData(int count, float range) {
ArrayList<Entry> yVals = new ArrayList<Entry>();
float max = - Float.MAX_VALUE, min = Float.MAX_VALUE;
for (int i = 0; i < count; i++) {
float mult = (range + 1);
float val = (float) (Math.random() * mult) + 20;// + (float)
// ((mult *
// 0.1) / 10);
yVals.add(new Entry(i, val));
if(val<min){
min = val;
}
if(val>max){
max = val;
}
}
LineDataSet set1;
if (mChart.getData() != null &&
mChart.getData().getDataSetCount() > 0) {
set1 = (LineDataSet)mChart.getData().getDataSetByIndex(0);
set1.setValues(yVals);
mChart.getData().notifyDataChanged();
mChart.notifyDataSetChanged();
} else {
// create a dataset and give it a type
set1 = new LineDataSet(yVals, "DataSet 1");
set1.setMode(LineDataSet.Mode.CUBIC_BEZIER);
set1.setCubicIntensity(0.2f);
//set1.setDrawFilled(true);
set1.setDrawCircles(false);
set1.setLineWidth(1.8f);
set1.setCircleRadius(4f);
set1.setCircleColor(Color.BLACK);
set1.setHighLightColor(Color.rgb(244, 117, 117));
set1.setColor(Color.parseColor("#16315d"));
set1.setFillColor(Color.RED);
GradientDrawable d = new GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP, new int[]{Color.BLACK, Color.RED});
set1.setFillAlpha(220);
set1.setFillDrawable(d);
set1.setFillAlpha(100);
set1.setDrawHorizontalHighlightIndicator(false);
set1.setFillFormatter(new IFillFormatter() {
@Override
public float getFillLinePosition(ILineDataSet dataSet, LineDataProvider dataProvider) {
return -10;
}
});
// create a data object with the datasets
LineData data = new LineData(set1);
data.setValueTypeface(mTfLight);
data.setValueTextSize(9f);
data.setDrawValues(false);
// set data
mChart.setData(data);
}
YAxis yAxis = mChart.getAxisLeft();
yAxis.removeAllLimitLines();
LimitLine lMin = new LimitLine(min, Float.toString(min));
lMin.setLabelPosition(LimitLine.LimitLabelPosition.LEFT_BOTTOM);
LimitLine lMax = new LimitLine(max, Float.toString(max));
lMax.setLabelPosition(LimitLine.LimitLabelPosition.LEFT_TOP);
yAxis.addLimitLine(lMin);
yAxis.addLimitLine(lMax);
}
只是为了将来的访客,答案是不要打电话:
lineDataSet.setMode(LineDataSet.Mode.CUBIC_BEZIER);
而是使用:
lineDataSet.setMode(LineDataSet.Mode.HORIZONTAL_BEZIER);
问题内容: 我是否可以使用Spring Security来限制能够同时登录网站的最大用户数量? 绝对不是并发会话控制参数。例如,我要限制最大只允许1000个用户同时登录。如果超过该通知页面说明已超过最大用户数 问题答案: 您可以通过访问SessionRegistry来查找当前登录的用户,从而使用Spring Security的并发会话控制。在Spring Security 3中,Concurren
问题内容: 我正在使用MySQL存储财务资料,并使用数据来构建每个帐户的所有交易记录等。出于性能方面的考虑-为了防止用户被庞大的表格所淹没-我对结果进行了分页。 现在,作为注册的一部分,我将显示该帐户的余额。因此,如果我每页显示20个事务,而我显示第二页,则使用如下数据: 事务0-19: 忽略它们-它们比正在查看的页面要新。 交易20-39: 从中选择所有内容-它们会显示出来。 事务40-??:
我想问您,除了像(大小为30个元素)这样一开始就设置数组元素数的限制之外,是否还有一种方法可以在java中设置数组元素数的限制。您能在1到10个元素之间设置限制吗? (或者类似的东西)。 我的第二个问题也许更可行的是,你能不能给元素本身设置一个限制,比如当你需要在之后对它们进行排序时,如果一个元素>=100就会给出错误。类似于:
我举一个例子,这是我的图表(请注意,我已经降低了bezier强度,以减少线的错误): 我希望它是这样呈现的: 我希望我的图表看起来像第二个示例中的红线,其中曲线的边缘是我的值,而不是值点之前的x。我还注意到,当使用启用的时,它不能正确地显示我的值,其中整数从0到4(含),而是显示为浮点数,如0.9、1.9、...、3.9,与bezier曲线边缘匹配。我相信这是不对的。 对于该记录,bezier模式
我的线条怎样才能整齐又不太侧身?