LightningChart JS 是一款高性能的 JavaScript 图表工具,专注于性能密集型、实时可视化图表解决方案。

LightningChart .JS | 下载试用(qun:740060302)https://www.evget.com/product/4189/download

在上一篇,我们介绍了创建Android图表数据可视化应用程序的前部分,包括项目概况、开发工具、环境参数等6部分;今天,我们分享后半部分,包括音频谱图、渲染速度图表、蜡烛图交易、运用应用程序4部分,希望能够对您有所帮助。

八、音频谱图Android图表

在查看代码之前,值得一提的是,我们将用于 Android 数据可视化应用程序的图表之一将是频谱图。在这种情况下,此频谱图使用 LightningChart JS 功能SurfaceScrollingGridSeries
此功能下的频谱图工作方式是将新样本推入,同时将旧样本移出。频谱图的作用是可视化音频、振动和其他类型的频谱。使用LightningChart JS 2D & 3D 音频频谱图,用户可以部署实时测量、分析和处理数据的应用程序。
一个真实的行业案例场景将在例如振动分析应用程序中实现这种类型的频谱图。在此处查看如何使用 TypeScript 和 LightningChart 创建振动图表应用程序的完整说明。

Spectrogram-Android

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("https://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 showfloat f = random.nextFloat();final String data = Float.toString(f);// send the generated data to the WebView// method for sending depends on Android versionif (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
view.post(new Runnable() {@Overridepublic void run() {
view.evaluateJavascript("addData('" + data + "')", null);
}
});
} else {
view.post(new Runnable() {@Overridepublic void run() {
view.loadUrl("javascript:addData('" + data + "')");
}
});
}
} 

十、蜡烛图交易

交易图表将是我们将包含在数据可视化演示应用程序中的最后一个 Android 图表示例。图表获取实时数据和特征:

  • 高级语言中心
  • 简单移动平均线
  • 指数移动平均线
  • 布林带
  • 体积
  • 相对强度指数

对于此图表,我们需要使用 xydata.iife 文件。 该文件将包含为 OHCL 图表创建 OHCL 数据的方法[createOHLCGenerator] 。OHLC 图表显示给定期间的开盘价、最高价、最低价和收盘价:

<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]属性指定的。 其他属性,如坐标轴的格式和样式,由函数[setTickStrategy]添加:

// 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)
}) 

数据是通过执行简单的乘法创建的,我们可以为频率和跨度数据分配随机值,但这取决于您需要多大的图表。
对于此图表,您将需要数据点的数量、数据频率(两个时间戳之间的时间有多长)以及数据生成应从哪里开始的值。

十一、运行应用程序

有两种方法可以执行应用程序:

  1. 使用安卓模拟器
  2. 将真实的 android 设备连接到 pc。

android 模拟器可能是最快的选择,但您需要有足够的 RAM 内存和磁盘空间。
要配置虚拟设备,请转到工具->设备管理器->创建设备

然后只需选择您需要的设备,下载并安装它。

但如果您有 Android 设备,我建议您使用它……模拟器会降低您的计算机速度,并且您将无法测试所有功能。 此外,某些功能可能无法在模拟器中正常运行。 
如果您想使用真实设备,则必须激活手机上的开发人员选项。 之后,将手机连接到 PC,Android Studio 会将您的设备设置为“物理设备”。
您可以通过选择下拉列表中可用的选项之一将您的实体手机连接到 Android studio,例如,使用 Wi-Fi:

在您的手机上,转到开发者选项 > 无线调试 > 使用二维码/配对码配对并搜索“无线调试”。从那里,您可以使用 Android Studio 中的二维码或配对代码将手机与 Android Studio 配对,从而通过 Wi-Fi 连接您的手机。

您的 Android Studio 应用程序项目将像任何其他应用程序一样在您的手机上启动。这是最终结果。我使用的是三星设备,如您所见,Android 图表应用程序运行流畅。

十二、结论

我想你应该意识到了这个项目更侧重于Android 配置,这样也便于编程和编译应用程序。 之所以这样做,是因为关于移动开发最复杂的一点是拥有一个允许我们工作的配置环境。
您也应该感受到了 Lightning Charts JS 的实现比配置 Android Studio 容易得多。 
Lightning Chart JS 的开发非常强调与不同开发环境的兼容性和稳定性。 JavaScript 代码与 Node JS 版本相比没有重大变化,在本次操作中我从字面上复制并粘贴了代码,但是在 JAVA 代码中,我们看到了一些如何与 JavaScript 和 JAVA 代码交互、将数据发送到图表的示例。

还以基本方式解释了 android 活动的行为。 如果您是一位经验不多的Android 开发人员,希望本次操作对您有帮助。

如何用LightningChart创建Android图表数据可视化应用程序?(下)相关推荐

  1. Vue 之 echarts 图表数据可视化的基础使用(简单绘制各种图表、地图)

    Vue 之 echarts 图表数据可视化的基础使用(简单绘制各种图表.地图) 目录 Vue 之 echarts 图表数据可视化的基础使用(简单绘制各种图表.地图) 一.简单介绍 二.环境搭建 三.使 ...

  2. Vue 之 echarts 图表数据可视化常用的一些图表/动态图表/3D图表的简单整理

    Vue 之 echarts 图表数据可视化常用的一些图表/动态图表/3D图表的简单整理 目录 Vue 之 echarts 图表数据可视化常用的一些图表/动态图表/3D图表的简单整理 一.简单介绍 二. ...

  3. gdb -iex_如何使用IEX Cloud,Matplotlib和AWS在Python中创建自动更新数据可视化

    gdb -iex Python is an excellent programming language for creating data visualizations. Python是用于创建数据 ...

  4. python 可视化图表 联动_Vue2+Echarts实现多种图表数据可视化Dashboard详解(附源码)...

    数据可视化 将数据通过图表的形式展现出来将大大的提升可读性和阅读效率 本例包含柱状图.折线图.散点图.热力图.复杂柱状图.预览面板等 技术栈 vue2.x vuex 存储公共变量,如色值等 vue-r ...

  5. 前端vue显示柱状图_详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)_旧址_前端开发者...

    数据可视化 将数据通过图表的形式展现出来将大大的提升可读性和阅读效率 本例包含柱状图.折线图.散点图.热力图.复杂柱状图.预览面板等 技术栈 vue2.x vuex 存储公共变量,如色值等 eleme ...

  6. 柱状图多维条形图vue_Vue2+Echarts实现多种图表数据可视化Dashboard详解(附源码)...

    数据可视化 将数据通过图表的形式展现出来将大大的提升可读性和阅读效率 本例包含柱状图.折线图.散点图.热力图.复杂柱状图.预览面板等 技术栈 vue2.x vuex 存储公共变量,如色值等 vue-r ...

  7. 强推!十大顶级大数据可视化工具 | 程序员硬核评测

    戳蓝字"CSDN云计算"关注我们哦! 程序员硬核评测:客观.高效.不说软话.无论是技术质量.性能水平,还是工具筛选,一测便知! 编译作者:风车云马 前言 Salesforce公司的 ...

  8. java创建android快捷方式_Android 通过应用程序创建快捷方式

    Android 快捷方式是桌面最基本的组件.它用于直接启动某一应用程序的某个组件.       一般情况下,可以在Launcher的应用程序列表上,通过长按某一个应用程序的图标在左面上创建改该应用程序 ...

  9. 如何使用谷歌地图和LightningChart创建地理空间地图图表?

    LightningChart JS 是一款高性能的 JavaScript 图表工具,专注于性能密集型.实时可视化图表解决方案. LightningChart .JS | 下载试用(qun:740060 ...

最新文章

  1. django mysql开发_【python-Django开发】Django 配置MySQL数据库讲解!!!
  2. 斯坦福大学公开课:iPhone开发教程2010年冬
  3. eclipse git commit
  4. vue中怎么点击修改文字_Vue.js点击切换按钮改变内容
  5. python找到字符中空格所在的位置_Python 查找字符在字符串中的位置示例效果
  6. 北京点击科技有限公司董事长兼总裁——王志东经典语录2
  7. 【英语学习】【Daily English】U03 Leisure Time L04 I need to squeeze in some time for reading
  8. python高性能_Python高性能分布式执行框架-Ray
  9. Linux下Apache、PHP、MySQL默认安装路径
  10. 【小5聊】HBuilderX下载与简单的Web端浏览器插件开发
  11. 20个数据可视化工具点评
  12. Wipe In and Wipe Out 抹进、抹出(动画显示、动画隐藏)(展开、折叠)(拉下、收起)
  13. 关于勒索病毒 Ransom:Win32.WannaCrypt 解决方案的最后一次说明
  14. weixin公众号页面返回上一层_《解决微信内置浏览器返回上一页强制刷新问题方法》...
  15. 湖南北云科技有限公司2023届校园招聘简章
  16. 学习UI设计需要学习哪些软件?
  17. web部署到服务器显示404,WAR包部署到服务器的tomcat下404报错
  18. c语言如何框出视频或图像中的车辆,[转载]视频图像中的车辆检测跟踪和分类
  19. css firefox hack,firefox 专属css hack
  20. windows下使用命令行运行PHP

热门文章

  1. echarts折线图鼠标悬浮竖线_echarts y轴,显示数据,但不显示竖线
  2. java保留小数点后面两位(四舍五入)
  3. BEGIN TRANSACTION
  4. linux下的C语言开发
  5. PowerDesigner反向工程并添加注释,导出表到word
  6. python好找工作吗2017-大四应届毕业生,学了两个月Python,找工作感觉好难啊?...
  7. ABAQUS划分网格
  8. facebook messenger 白名单域配置的坑
  9. Unity-Live2D实现GalGame中人物随鼠标点击移动
  10. SSLContext getInstance支持的协议