提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|行业资讯|编辑:何家巧|2022-12-30 16:44:41.197|阅读 97 次
概述:在上一篇,我们介绍了创建Android图表数据可视化应用程序的前部分,包括项目概况、开发工具、环境参数等6部分,今天,我们分享后半部分,包括音频谱图、渲染速度图表、蜡烛图交易、运用应用程序4部分,希望对您有所帮助。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
LightningChart JS 是一款高性能的 JavaScript 图表工具,专注于性能密集型、实时可视化图表解决方案。
在上一篇,我们介绍了创建Android图表数据可视化应用程序的前部分,包括项目概况、开发工具、环境参数等6部分;今天,我们分享后半部分,包括音频谱图、渲染速度图表、蜡烛图交易、运用应用程序4部分,希望能够对您有所帮助。
LightningChart JS 可以作为嵌入代码工作,包裹在脚本标签中:
<body class="box">
<!-- Create div to render the chart into-->
<div id="target" class="row content"></div>
<!--IIFE assembly (lcjs.iife.js) is a standalone JS file,
which does not need any build tools,
such as NPM, to be installed-->
<!--Script source must be defined in it's own script tag-->
<script src="lcjs.iife.js"></script>
<!--Actual chart related script tag-->
<script>
function setData(data){
var arrData = data.split("||")
const ArrX = JSON.parse(arrData[0])
const ArrY = JSON.parse(arrData[1])
const chartData = ArrX.map( ( itr1, itr2 ) => ( { x: itr1, y: ArrY[itr2] } ) )
lineSeries.add(chartData)
}
我们将在代码的以下部分导入数据,如下所示:
// Load example data from file.
fetch(
"//lightningchart.com/lightningchart-js-interactive-examples/examples/assets/0913/audio2ch.json"
)
如果您需要加载本地数据,您可以替换 [audio2ch.json] 文件的 URL:
当活动加载 HTML 时,将执行所有 JavaScript 并将创建图表对象。
九、渲染速度图表
我们将为 Android 图表应用程序创建的第二个图表是。特别是,这是一个以毫秒为单位测量时间跨度的 LineSeries 图表。在此图表中,我们渲染了 100 万个数据点。
对于此示例,我们将使用 XY 图表类型创建速度图表。
<script>
let curX = 1;
function addData(valueFromJava){
const value = Number(valueFromJava)
lineSeries.add({x: curX, y: value})
curX += 1
}
// Extract required parts from LightningChartJS.
const {
lightningChart
} = lcjs //Note: @arction/lcjs is not needed here, when using IIFE assembly
// Create a XY Chart.
chart = lightningChart().ChartXY({
// Set the chart into a div with id, 'target'.
// Chart's size will automatically adjust to div's size.
container: 'target'
})
.setTitle('My first chart') // Set chart title
// Add a line series.
const lineSeries = chart.addLineSeries()
.setName('My data')
.setStrokeStyle(s=>s.setThickness(2))
</script>
图表将在 div “target” 中创建:
<script src="lcjs.iife.js"></script>
使用函数 [addLineSeries],将线添加到图表中,使用 X 和 Y 的数据点,绘制一条线。。函数 [addData] 将从类[RenderingSpeedChart]中调用。
此类将在活动运行时执行,并将随机浮点数发送到图表:
public void run() {
// Generate random float to show
float f = random.nextFloat();
final String data = Float.toString(f);
// send the generated data to the WebView
// method for sending depends on Android version
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
view.post(new Runnable() {
@Override
public void run() {
view.evaluateJavascript("addData('" + data + "')", null);
}
});
} else {
view.post(new Runnable() {
@Override
public void run() {
view.loadUrl("javascript:addData('" + data + "')");
}
});
}
}
十、蜡烛图交易
交易图表将是我们将包含在数据可视化演示应用程序中的最后一个 Android 图表示例。图表获取实时数据和特征:
<script src="lcjs.iife.js"></script>
<script src="xydata.iife.js"></script>
<!--Actual chart related script tag-->
<script>
// Extract required parts from LightningChartJS.
const {
lightningChart,
AxisTickStrategies,
OHLCFigures,
emptyLine,
AxisScrollStrategies,
Themes
} = lcjs
// Import data-generator from 'xydata'-library.
const {
createOHLCGenerator
} = xydata
现在图表对象已创建。 外观是通过[theme]属性指定的。 其他属性,如坐标轴的格式和样式,由函数添加:
// Create a XY Chart.
const chart = lightningChart().ChartXY({
theme: Themes.darkGold,
})
// Use DateTime X-axis using with above defined origin.
chart
.getDefaultAxisX()
.setTickStrategy(
AxisTickStrategies.DateTime,
(tickStrategy) => tickStrategy.setDateOrigin(dateOrigin)
)
chart.setTitle('Candlesticks Chart')
// Style AutoCursor using preset.
chart.setAutoCursor(cursor => {
cursor.disposeTickMarkerY()
cursor.setGridStrokeYStyle(emptyLine)
})
chart.setPadding({ right: 40 })
设置其他视觉属性,如填充、文本标题和网格。
const dataSpan = 10 * 24 * 60 * 60 * 1000
const dataFrequency = 1000 * 60
createOHLCGenerator()
.setNumberOfPoints(dataSpan / dataFrequency)
.setDataFrequency(dataFrequency)
.setStart(100)
.generate()
.toPromise()
.then(data => {
series.add(data)
})
数据是通过执行简单的乘法创建的,我们可以为频率和跨度数据分配随机值,但这取决于您需要多大的图表。
然后只需选择您需要的设备,下载并安装它。
但如果您有 Android 设备,我建议您使用它……模拟器会降低您的计算机速度,并且您将无法测试所有功能。 此外,某些功能可能无法在模拟器中正常运行。
在您的手机上,转到开发者选项 > 无线调试 > 使用二维码/配对码配对并搜索“无线调试”。从那里,您可以使用 Android Studio 中的二维码或配对代码将手机与 Android Studio 配对,从而通过 Wi-Fi 连接您的手机。
您的 Android Studio 应用程序项目将像任何其他应用程序一样在您的手机上启动。这是最终结果。我使用的是三星设备,如您所见,Android 图表应用程序运行流畅。
十一、结论
我想你应该意识到了这个项目更侧重于Android 配置,这样也便于编程和编译应用程序。 之所以这样做,是因为关于移动开发最复杂的一点是拥有一个允许我们工作的配置环境。还以基本方式解释了 android 活动的行为。 如果您是一位 经验不多的Android 开发人员,希望本次操作对您有帮助。
欢迎加入LightningChart技术交流群,获取最新产品咨询:740060302
想了解Lightning Charts JS 购买/授权/试用下载,欢迎咨询。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢