我正在处理一个使用MPAndroidChart库的项目,这让我非常疯狂,我想删除它。
问题是,我创建了一个自定义的ValueFormatter,我无法理解这些值来自何处,它们都是错误的。
private void setData() {
for (int i = 1; i <= 10; i++) {
Entry entry = new Entry(i, i);
values.add(entry);
}
IAxisValueFormatter valueFormatter = new myValueFormatter();
XAxis xAxis = mChart.getXAxis();
xAxis.setValueFormatter(valueFormatter);
LineDataSet set1 = new LineDataSet(values, "DataSet 1");
ArrayList<ILineDataSet> dataSets = new ArrayList<ILineDataSet>();
dataSets.add(set1); // add the datasets
// create a data object with the datasets
LineData data = new LineData(dataSets);
// set data
mChart.setData(data);
}
自定义格式化程序类:我有一个数组,它有1,2,3,4,5,6,7,8,9,10个值,但我在getFormattedValue方法中得到了2,4,6,8,10个。
public classmyValueFormatter implements IAxisValueFormatter {
@Override
public String getFormattedValue(float value, AxisBase axis) {
System.out.println(value); //Here I get odd values where they come from I don't know.
}
}
一般来说,库就是这样编写的。看看这里:
https://github.com/PhilJay/MPAndroidChart/blob/master/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/XAxisRenderer.java#L205
String label = mXAxis.getValueFormatter().getFormattedValue(mXAxis.mEntries[i / 2], mXAxis);
作者的意图可能是在标签之间提供更多的行间距。如果您认为这是一个错误,请将问题提交到Github上的库存储库。
我用的是MPAndroidChart,我有一个x轴从0到11的条形图。 我添加了setOnChartValueSelectedListener,但突出显示了。getX()返回8,即使单击最后一个栏,也应该是11。 我在做什么: 创建一个包含几个条目的BarData对象-基本上每月1个,其中x值是月份数(0到11) 在图表上设置ChartValueSelectedListener 运行应用程序,水平
问题内容: 我试图从一个字符串做一个BigDecimal。不要问我为什么,我只需要它!这是我的代码: 这是我得到的输出? 有任何想法吗? 问题答案: 创建双精度数时,值0.3不能精确表示。您可以从不带中间双精度字的字符串创建BigDecimal,如下所示: 浮点数表示为二进制分数和指数。因此,有些数字无法准确表示。在以10为基数的数字中有一个类似的问题,例如1/3,即0.333333333 ...
问题内容: 当我使用编译器警告(JDK 1.5)来编译我的项目时,我收到很多错误的路径元素警告: 警告:: [路径]错误的路径元素“ C:\ Users \ User \ MyJava \ common \ lib \ junit.jar”:没有这样的文件或目录警告:: [路径]错误的路径元素“ C:\ Users \ User \ MyJava \ common \ lib \ jdom.jar
我正在尝试运行这里提供的kotlin代码的测试:https://github.com/ligi/ipfs-api-kotlingradlew 我收到了下面列出的错误。有人能告诉我这个错误是什么意思吗?
用 assert 测试编码和设计错误。如果其返回false,则程序终止,应纠正代码。这种方法在调试时很有用处。 忽略异常,这不适合公开发布的软件产品和任务关键的专用软件。但自用软件通常可以忽略许多错误。 退出程序,使程序无法运行完毕或产生错误结果。实际上,对于许多错误类型,这是个好办法,特别是对于能让程序运行完毕的非致命错误,因为让程序运行完毕很可能使程序员误以为程序工作很顺利。这种方法也不适合任
我是c的新手,我见过许多c编译器自动将int argc、char*argv作为参数传递到main函数中,但它们在哪里定义?有点好奇。