javascript图表组件(Walter Zorn)

xjdawu 2007-07-31 03:42:56
纯js的蛮好用的,推荐给大家,不知道以前发过没有,Walter Zorn的拖放,自定义提示等等都很不错的咚咚
例子、文档及下载:http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm

这是我用来测试的demo
----------------------------
<style>
.canvas {
position:relative;
height:350px;
width:648px;
margin:12px;
border-top:1px solid #EFEFEF;
border-left:1px solid #EFEFEF;
border-right:1px solid #CCCCCC;
border-bottom:1px solid #CCCCCC;
}
</style>
<script type="text/javascript" src="wz_jsgraphics.js"></script>

<body onload=myDrawFunction()>
<div id="myCanvas" class="canvas"></div>
<button onclick="drawBarChart()">Draw Bar Chart</button><button onclick="drawLineChart()">Draw Line Chart</button><button onclick="drawPieChart()">Draw Pie Chart</button>

<script type="text/javascript">
<!--
var pad = 24
var tt = 30
var bt = 30
var ch = 350 - bt
var jg = new jsGraphics("myCanvas");

function myDrawFunction()
{
//drawLineChart()
//drawPieChart()
drawBarChart()
}


function drawBarChart()
{
jg.clear();
jg.setColor("#808080");

// draw Axes
jg.drawLine(pad, ch, pad+600, ch); //x
jg.drawLine(pad, tt, pad, ch); //y

jg.setColor("blue");

// draw line
var x, y
for(var i=0; i<10; i++)
{
x = pad + 15 + i*50
y = bt + Math.floor(200 * Math.random())
h = 350 - y - tt
jg.fillRect(x, y, 15, h)
}
jg.paint();
}

function drawLineChart()
{
jg.clear();
jg.setColor("#808080");

// draw Axes
jg.drawLine(pad, ch, pad+600, ch); //x
jg.drawLine(pad, tt, pad, ch); //y

jg.setColor("blue");

// draw line
var x1, y1, x2, y2
for(var i=0; i<10; i++)
{
if (x2)
{
x1 = x2
y1 = y2
}
else
{
x1 = pad + 15 + i*50
y1 = bt + Math.floor(200 * Math.random())
}
var x2 = pad + 15 + (i+1) * 50
var y2 = bt + Math.floor(200 * Math.random())
jg.drawLine(x1, y1, x2, y2)
}
jg.paint();
}

function drawPieChart()
{
jg.clear();

// shadow
jg.setColor("#CCCCCC");
jg.fillArc(50, 57, 100, 60, 0, 360);

// pie
jg.setColor("blue");
var x1 = Math.floor(100 * Math.random())
jg.fillArc(50, 50, 100, 60, 0, x1);
jg.setColor("red");
var x2 = x1 + Math.floor(100 * Math.random())
jg.fillArc(50, 50, 100, 60, x1, x2);
jg.setColor("orange");
var x3 = x2 + Math.floor(160 * Math.random())
jg.fillArc(50, 50, 100, 60, x2, x3);
jg.setColor("#efefef");
jg.fillArc(50, 50, 100, 60, x3, 360);


// text
jg.setColor("black");
jg.drawString("Text", 50, 180);

jg.paint();
}
//-->
</script>
...全文
1044 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
glvicky 2007-07-31
  • 打赏
  • 举报
回复
接分咯。。。。。。
xjdawu 2007-07-31
  • 打赏
  • 举报
回复
不是支持SVG,是比SVG, VML等技术的平台适应性好
ssssssssssss 2007-07-31
  • 打赏
  • 举报
回复
扫了一眼,貌似除了canvas还支持SVG?
xjdawu 2007-07-31
  • 打赏
  • 举报
回复
标题有误,不是图表组件,是画图组件的简单图表应用
xjdawu 2007-07-31
  • 打赏
  • 举报
回复
加分咯。。。。。。
内容概要:本文系统研究了并网虚拟同步发电机(VSG)的自适应惯量阻尼调控策略及其对频率动态响应稳定性的影响,聚焦于VSG在并网工况下的惯量与阻尼协同自适应控制机制。通过构建Simulink仿真模型并结合Matlab代码实现,深入分析VSG的动态特性、有功/无功功率响应及电网频率稳定性,采用根轨迹法评估不同调节系数对系统稳定性的敏感性,揭示其支撑电网频率稳定的能力。研究进一步拓展至微电网黑启动、预同步控制、虚拟阻抗技术以及双机VSG间的功率精确分配等关键应用场景,旨在应对高比例新能源接入带来的系统惯量下降与频率稳定挑战,提升电力系统的韧性与可靠运行水平。; 适合人群:具备电力系统分析、自动控制理论及新能源并网技术背景,熟练掌握Matlab/Simulink仿真工具,从事电气工程、能源互联网、微电网控制等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入探究VSG在并网模式下惯量与阻尼参数的自适应协同调控原理与实现方法;②系统分析VSG控制策略对电网频率动态响应过程的影响规律与稳定边界;③通过仿真实践掌握VSG关键控制参数(如虚拟惯量、阻尼系数)的设计、整定及其对系统性能影响的量化评估;④为微电网的自主黑启动、无缝并网及高渗透率可再生能源系统的频率稳定控制提供先进的技术方案与决策依据。; 阅读建议:建议读者结合文中提供的完整Matlab代码与Simulink模型进行动手仿真实验,重点关注控制策略的模块化设计逻辑、参数动态调整过程与系统整体性能之间的关联,务必结合电力系统小信号稳定性分析理论,深入理解根轨迹、特征值等分析结果所蕴含的物理意义,从而实现从理论到实践的贯通。

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧