web 前端绘制折线_前端---HTML5如何制作一个折线图

在学习如何制作折线图,我们先学习一下canvas元素中CanvasRenderingContext2D对象提供的相关方法,通过使用坐标表换,开发者无须繁琐计算每个点的坐标,只需对坐标系整体表换即可.

CanvasRenderingContext2D提供了如下的方法进行坐标变换:

translate(double dx,double dy):平移坐标系统.该方法相当于把原来位于(0,0)位置的坐标远点平移到(dx,dy)点.在平移后的坐标系统上绘制图形时,所有坐标点的X坐标都相当于增加了dx,所有点的Y坐标都相当于增加了dy.

scale(double sx,double sy):缩放坐标系统.该方法控制坐标系统水平方向上缩放sx,垂直方向上缩放sy.在缩放后的坐标系统上绘制图形时,所有有坐标点的X坐标都相当与乘以了sx因子,所有点的Y坐标都相当于乘以了sy因子.

rotate(double angle):旋转坐标系统.该方法控制系统旋转angle弧度.在旋转后的坐标系统上绘制图形时,所有坐标点的X,Y坐标都相当于旋转了angle弧度之后的坐标.

transform(double m11,double m12,double m22,double dx,double dy):对当前坐标系统执行矩阵变换.

并且还提供了如下两个方法来保存,恢复绘图状态:

save():保存当前的绘图状态.

restore():恢复之前保存的绘图状态.

折线图的代码及示意图如下:

折线图

折线图

var canvas=document.getElementById('mc');

var ctx=canvas.getContext('2d');

ctx.beginPath();

//坐标轴

ctx.moveTo(30,20);

ctx.lineWidth="1";

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Java爬虫爬取到的数据展示为echarts折线图,需要经过以下步骤: 1. 将爬取到的数据存储到数据库中,比如MySQL或者MongoDB。 2. 在Java Web应用中使用JDBC或者ORM框架(比如Hibernate、Mybatis等)连接数据库,读取数据并转换为JSON格式。 3. 在HTML页面中引入echarts的JS库和CSS文件,通过echarts的API渲染折线图。 4. 将Java中读取到的数据转换成echarts所需的格式,并通过Ajax异步请求将数据传递给前端页面。可以使用JSON格式来传递数据。 5. 使用echarts的API将数据绘制折线图。 以下是一个简单的示例代码,假设我们已经将爬取到的数据存储到MySQL数据库中: Java代码: ``` import java.sql.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class DataProvider { private static final String URL = "jdbc:mysql://localhost:3306/test"; private static final String USER = "root"; private static final String PASSWORD = "password"; public static List<Map<String, Object>> getData() { List<Map<String, Object>> list = new ArrayList<>(); Connection conn = null; Statement stmt = null; ResultSet rs = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(URL, USER, PASSWORD); stmt = conn.createStatement(); String sql = "SELECT * FROM data"; rs = stmt.executeQuery(sql); while (rs.next()) { Map<String, Object> map = new HashMap<>(); map.put("date", rs.getString("date")); map.put("value", rs.getInt("value")); list.add(map); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (Exception e) { e.printStackTrace(); } } return list; } } ``` 上述代码中,我们通过JDBC连接MySQL数据库,并查询名为"data"的表中的数据,并将其转换为List<Map<String, Object>>类型的数据。 HTML代码: ``` <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>折线图示例</title> <script src="https://cdn.staticfile.org/echarts/4.8.0/echarts.min.js"></script> </head> <body> <div id="main" style="width: 600px;height:400px;"></div> <script type="text/javascript"> var myChart = echarts.init(document.getElementById('main')); var option = { title: { text: '折线图示例' }, tooltip: { trigger: 'axis' }, xAxis: { type: 'category', data: [] }, yAxis: { type: 'value' }, series: [{ data: [], type: 'line' }] }; myChart.setOption(option); // 异步请求数据 var xhr = new XMLHttpRequest(); xhr.open('GET', '/data', true); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { var data = JSON.parse(xhr.responseText); var xAxisData = []; var seriesData = []; for (var i = 0; i < data.length; i++) { xAxisData.push(data[i].date); seriesData.push(data[i].value); } myChart.setOption({ xAxis: { data: xAxisData }, series: [{ data: seriesData }] }); } }; xhr.send(); </script> </body> </html> ``` 上述代码中,我们引入了echarts的JS库,并在页面上创建了一个div容器,用于展示折线图。然后我们通过异步请求从Java后端读取数据,并将其转换为折线图所需的格式。最后通过echarts的API将数据绘制折线图。 注意:上述示例代码仅供参考,实际应用中需要根据具体的需求进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值