基于highchart修改而成的风力风向图

1.替换highchart.js drawpoints方法,替换内容如下:

drawPoints: function() {
var a, b = this.points,
c = this.chart,
d, e, f, g, h, i, j, k;
d = this.options.marker;
var l = this.pointAttr[""],
m,
n = this.markerGroup,
o = p(d.enabled, this.activePointCount < 0.5 * this.xAxis.len / d.radius); if (d.enabled !== !1 || this._hasPointMarkers) for (f = b.length; f--;) if (g = b[f], d = U(g.plotX), e = g.plotY, k = g.graphic, i = g.marker || {},
a = o && i.enabled === t || i.enabled, m = c.isInsidePlot(v(d), e, c.inverted), a && e !== t && !isNaN(e) && g.y !== null) if (a = g.pointAttr[g.selected ? "select": ""] || l, h = a.r, i = p(i.symbol, this.symbol), j = i.indexOf("url") === 0, k) k[m ? "show": "hide"](!0).animate(r({
x: d - h,
y: e - h
},
k.symbolName ? {
width: 2 * h,
height: 2 * h
}: {}));
else {
if(m && (h > 0 || j)){
switch(g.extra){
case 1: g.graphic = c.renderer.symbol("triangle_1", d - h, e - h, 2 * h, 2 * h).attr(a).add(n);
break;
case 2: g.graphic = c.renderer.symbol("triangle_2", d - h, e - h, 2 * h, 2 * h).attr(a).add(n);
break;
case 3: g.graphic = c.renderer.symbol("triangle_3", d - h, e - h, 2 * h, 2 * h).attr(a).add(n);
break;
case 4: g.graphic = c.renderer.symbol("triangle_4", d - h, e - h, 2 * h, 2 * h).attr(a).add(n);
break;
case 5: g.graphic = c.renderer.symbol("triangle_5", d - h, e - h, 2 * h, 2 * h).attr(a).add(n);
break;
case 6: g.graphic = c.renderer.symbol("triangle_6", d - h, e - h, 2 * h, 2 * h).attr(a).add(n);
break;
case 7: g.graphic = c.renderer.symbol("triangle_7", d - h, e - h, 2 * h, 2 * h).attr(a).add(n);
break;
case 8: g.graphic = c.renderer.symbol("triangle_8", d - h, e - h, 2 * h, 2 * h).attr(a).add(n);
break;
}
}
} else if (k) g.graphic = k.destroy()
},

修改symbol方法,增加如下内容:

//风向设定
//正东
triangle_1: function(a, b, c, d) {
return ["M",a-c/2, b-c/2, "L", a-c/2, b+d, a+c+d, b+c/2 , "Z"]
},
//正西
triangle_2: function(a, b, c, d) {
return ["M", a-c , b+c/2, "L", a+c*2, b-c/2, a+c*2, b+c , "Z"]
},
//正南
triangle_3: function(a, b, c, d) {
return ["M",a-c/2, b, "L", a+c, b, a+c/3, b+c*2 , "Z"]
},
//正北
triangle_4: function(a, b, c, d) {
return ["M", a+c , b+c/2, "L", a-c/2, b+c/2, a+c/2, b-c*2 , "Z"]
},
//东南
triangle_5: function(a, b, c, d) {
return ["M", a, b, "L",a+c, b -c, a + d +c, b + d, "Z"]
},
//东北
triangle_6: function(a, b, c, d) {
return ["M", a, b, "L",a+c, b +c, a + d +c, b -d, "Z"]
},
//西南
triangle_7: function(a, b, c, d) {
return ["M", a+c*2 , b, "L", a-c/2, b+c, a+c, b-d , "Z"]
},
//西北
triangle_8: function(a, b, c, d) {
return ["M", a + c, b, "L", a - c, b - d, a, b + d, "Z"]
},

Highchart 改编风力风向图的更多相关文章

  1. echarts渲染一个风向图

    今天给大家说一个用echarts渲染一个风向图,这里图上其实有三个要素,风向,风级和能见度,主要还是讲讲代码里面的坑 1.风向图标方向修改以及设置 var ownData = echarts.util ...

  2. highchart柱状堆叠图动态数据请求

    $(function () { var options = { chart: { renderTo: 'indoor', type: 'column', }, title: { text: '室内问题 ...

  3. 毕设之Python爬取天气数据及可视化分析

    写在前面的一些P话:(https://jq.qq.com/?_wv=1027&k=RFkfeU8j) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向. ...

  4. arcgis制作风或水流速流向图

    制作风或水流速流向图 风速风向图或流速流向图相信大家都已经见过不少,但不知道有多少人会制作这样炫的专题图,下面这边文章向我们展示了当基本数据U和V矢量被存储时,怎样计算风或水流的速度和方向和对其进行符 ...

  5. 【开源】分享2011-2015年全国城市历史天气数据库【Sqlite+C#访问程序】

    由于个人研究需要,需要采集天气历史数据,前一篇文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子),介绍了基本的采集思路和核心代码,经过1个星期的采集,历史数据库 ...

  6. Python爬取南京市往年天气预报,使用pyecharts进行分析

    上一次分享了使用matplotlib对爬取的豆瓣书籍排行榜进行分析,但是发现python本身自带的这个绘图分析库还是有一些局限,绘图不够美观等,在网上搜索了一波,发现现在有很多的支持python的绘图 ...

  7. C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)

    第一次接触HtmlAgilityPack是在5年前,一些意外,让我从技术部门临时调到销售部门,负责建立一些流程和寻找潜在客户,最后在阿里巴巴找到了很多客户信息,非常全面,刚开始是手动复制到Excel, ...

  8. Cesium应用篇:2影像服务(下)

    文章中相关范例下载路径:https://yunpan.cn/cByQqkANWN7Pu 访问密码 823d 上篇主要介绍了Cesium自带的影像Provider ,在本篇中,我们主要涉及到如何扩展这些 ...

  9. XCL-Charts图表库简要教程及常见问题

    这个Andriod图表库项目从开始至现在,热情消耗几近殆尽.还好已基本实现我想做的那些东西.趁还剩下点兴趣,把一些点非常简单的归纳一下. 所支持的图表类型: 基类                   ...

随机推荐

  1. 无法加载协定为“XXXWebServiceSoap”的终结点配置部分,因为找到了该协定的多个终结点配置

    错误描述:无法加载协定为“XXXWebServiceSoap”的终结点配置部分,因为找到了该协定的多个终结点配置.请按名称指示首选的终结点配置部分. 错误原因:该webservce在web.confi ...

  2. cookie的expires属性和max-age属性

    expires属性 指 定了coolie的生存期,默认情况下coolie是暂时存在的,他们存储的值只在浏览器会话期间存在,当用户推出浏览器后这些值也会丢失,如果想让 cookie存在一段时间,就要为e ...

  3. 20141112 WinForm子窗口标签页

    (一)标签页 先看看效果: 代码: public partial class 标签页 : Form { string s = ""; public 标签页() { Initiali ...

  4. c# 根据中文汉字获取到拼音

    public static String ConvertToPinyin(String str) { if (String.IsNullOrEmpty(str)) return String.Empt ...

  5. Linux 07 故障恢复

    1. 模拟MBR扇区被破坏后的修复. MBR故障恢复: 1.备份 添加硬盘 启动操作系统: 添加硬盘: 对分区格式化: 挂载: 做备份: 破坏MBR 重启系统: 关闭虚拟机 设置光盘启动 救援模式: ...

  6. 在Linux下如何用Shell脚本读写XML?现有一个config.xml(转)

    在Linux下如何用Shell脚本读写XML?现有一个config.xml <?xml version="1.0" encoding="UTF-8"?&g ...

  7. 64位ubuntu编译32位程序

      最近在64位ubuntu上开发,需要编译32位程序,需要安装这两个包,然后在编译器参数加上-m32.不放心的话可以用ldd或file查看一下是否生成了对应位数的程序. $ apt-get inst ...

  8. 再谈PHP、Python与Ruby

    一句话总结 简单地总结: 假如你想帮他尽快找个活儿,赚到钱,推荐PHP. 假如你想让他成为一个高效工程师,推荐 Python. 假如你想让他爱上他的工作,推荐 Ruby. 语言的选择 编程语言非常重要 ...

  9. 非常值得学习的java 绘图板源代码

    package minidrawpad; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; impor ...

  10. 提取 ECharts 中的svg地图信息

    地图的需求还是蛮大的,全国都要自己画的话,还是需要投入比较大的人力. ECharts中有地图,那我们能不能把里面的地图文件提取出来呢,主要逻辑在map.js中. 看源代码发现,ECharts中地图信息 ...