我正在调查我公司的Android和iOS应用程序中的使用情况,我发现了一个需要解决的问题,以便能够使用此框架。
应用程序主要使用折线图功能,提供的数据可以包含NULL
条目。我看过其他讨论这个问题的帖子,显然还没有显示NULL
值的解决方案。带空值的MPAndroidChart
作者建议不要将数据点添加到集合中,但在我的例子中,如果图形中有两个以上连续的NULL
值(或以任何方式表示),则图形中有一个“洞”是非常重要的,即图形在两个点之间不连续,且NULL
值介于两者之间。有什么方法可以用这个框架来实现这一点吗?
我一直在研究将数据点分成不同数据集的可能性,但这似乎有点像黑客攻击。
非常感谢。
数据集示例:
[1 2 10 NULL NULL NULL 20 25 30]
The Line must NOT connect the numbers 10 and 20.
这就是我最终想出的解决这个问题的办法——为未来的任何人。它在数据集中迭代并创建新的条目,直到遇到空值,然后使用条目构造函数中使用布尔值的“伪”条目创建数据集。布尔值可以从
“entry.getData()”
然后,您可以使用它将数据集设置为不可见
“mLineDataSet.setVisible(false);”
注意:不要尝试将数据集颜色设置为透明-库有一个错误,如果某些条目为空,图形甚至不会出现。
private void createDataSets() {
for (int index = 0; index < mGraph.getGraphDataSets().size(); index++) {
lastIndexCreated = 0;
final GraphDataSet mDataSet = mGraph.getGraphDataSets().get(index);
final ArrayList<Entry> mEntries = getEntries(mDataSet.getYValues(), lastIndexCreated);
final LineDataSet mLineDataSet = getDataSet(mEntries, mDataSet, color);
mGraphLineData.addDataSet(mLineDataSet);
lastIndexCreated = mEntries.size() - 1;
while (lastIndexCreated < mDataSet.getYValues().size() - 1) {
final LineDataSet set = getDataSet(mEntriesSet, mDataSet, colorSecondary);
if (mEntriesSet.size() != 0)
mGraphLineData.addDataSet(set);
lastIndexCreated = (int) mEntriesSet.get(mEntriesSet.size() - 1).getX();
}
}
}
private ArrayList<Entry> getEntries(final List<Float> yValues, final int firstValueIndex) {
final ArrayList<Entry> mEntries = new ArrayList<>();
for (int i = firstValueIndex; i < yValues.size(); i++) {
if (yValues.get(i) != null)
//boolean here is false means that dataset is not fake and should be shown
mEntries.add(new Entry(i, yValues.get(i), false));
else if (firstValueIndex == i) {
//add a "Fake" data entry, and use mEntry.getData to set line to not be visible.
mEntries.add(new Entry(i, 0, true));
break;
} else {
break;
}
}
return mEntries;
}
我是拉威尔的新手,目前正在拉威尔的一个项目中工作。 当我在我的文件中使用'php工匠服务'来检查它是否工作/localhost,我得到了这个错误: (1/1)HttpException数据库连接失败! 在应用中。php第1014行 应用时- 在ScriptMint中中止时('399','数据库连接失败!')。php第31行 在ScriptMint- 在管道上- at XSP保护- 在管道上- 在T
我在项目中使用了存储库、服务、视图模型。我正在尝试将值插入到表中,但我得到一个错误。 这是我的代码,用于添加模型中的值: 我得到这个错误: 此操作需要连接到“master”数据库。无法创建到“master”数据库的连接,因为原始数据库连接已打开,凭据已从连接字符串中删除。提供未打开的连接。 我已经在网上搜索了6个小时,尝试了很多解决方案,但都不起作用。
错误抛出在“load(couldant_credentials['db_name'])”上,所以是否缺少要导入的库? 我确信我使用的Cloudant证书是正确的。 我尝试使用Java代码,但得到同样的错误。
数据连接是任何数据分析的常见要求。可能需要在单个源中连接来自不同表的数据,或者从多个源连接数据。 Tableau提供了使用“Data”菜单中提供的数据窗格来连接表的功能。 连接意味着组合关系数据库中一个或多个表的列。它还创建一个可以保存为表的集合,或者可以按原样使用它。 连接指定有五种类型: 交叉连接。 内部连接。 自然连接。 外连接。 左外连接。 右外连接。 完全外连接。 自连接。 1. 连接类
连接数据库 在能够对MongDB进行操作之前,需要使用BuguFramework创建一个数据库连接,代码如下: BuguConnection conn = BuguFramework.getInstance().createConnection(); conn.connect("192.168.0.100", 27017, "mydb", "username", "password"); 也可以
一、全局配置定义 return array( 'DB_TYPE' => 'mysql', 'DB_HOST' => '127.0.0.1', 'DB_NAME' => 'thinkcmf', 'DB_USER' => 'root', 'DB_PWD' => 'root', 'DB_PORT' => '3306', 'DB_PREFIX' =>
ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。数据库抽象访问层基于PDO方式,目前内置包含了Mysql、SqlServer、PgSQL、Sqlite等数据库的支持。 如果应用需要使用数据库,必须配置数据库连接信息,数据库的配置文件有多种定义方式。 配置文件
有两种方法连接数据库: 自动连接 “自动连接” 特性将在每一个页面加载时自动实例化数据库类。要启用“自动连接”, 可在 application/config/autoload.php 中的 library 数组里添加 database: $autoload['libraries'] = array('database'); 手动连接 如果你只有一部分页面需要数据库连接,你可以在那些有需要的函数里