Open Flash Chart 之线图

天公司要求开发一个曲线图,简单看了一下之前公司的一个系统,发现一个曲线图效果还不错,查了一下叫OpenFlashChart,还是很不错的,很多人用。研究了一下,发现还不错,特地写了个DEMO测试下。

public ActionResult ITooltip()
        {
            int DateLen = Convert.ToInt32(Request["d"]);
            int DateMode = Convert.ToInt32(Request["m"]);

            OpenFlashChart.OpenFlashChart chart = new OpenFlashChart.OpenFlashChart();
            List<double> ListData = new List<double>();

            //定义一条X轴
            XAxisLabels xal = new XAxisLabels();
            for (int i = DateLen; i >= 0; i--)
            {
                string aDateID = DateTime.Now.AddDays(-i).ToString("yyyyMMdd");
                int count = i * 10;
                ListData.Add(count);
                //X轴的显示信息
                AxisLabel al = new AxisLabel(DateTime.Now.AddDays(-i).ToString("MM月dd日"));
                xal.Add(al);
            }

            //定义一条曲线,该曲线就是用于显示数据的曲线
            OpenFlashChart.LineHollow line = new LineHollow();  //此处是new LineHollow() 表示是空心点,如果要实心点,可以new LineDot()
            line.Values = ListData;     //将数据给曲线
            //line.HaloSize = 12;
            line.Width = 6;             //图中曲线的粗细
            line.DotSize = 12;
            line.FontSize = 12;         //该参数控制 line.Text的字体大小
            line.Colour = "#0838CE";    //设置曲线的颜色

            ////自定义一个曲线中点的样式
            //DotStyle ds = new DotStyle();
            //ds.BackgroundColour = "#000000";    //自定义点的背景颜色
            //ds.Colour = "#ffffff";              //自定义点的颜色
            //ds.DotSize = 6;                    //自定义点的大小
            //ds.IsHollow = true;                //是否是空心
            //ds.Sides = 333;
            //ds.Tip = "评论数 #val#";           //鼠标移到点上的提示信息
            //ds.Width = 20;
            //line.DotStyleType = ds;

            line.Text = "评论数";
            line.Loop = true;
            line.Tooltip = "评论数 #val#";

            chart.AddElement(line);
            chart.Title = new Title("最近30天评论趋势曲线图");
            //设置整个图表的显示范围,也就是说
            //图表中,Y轴的最小值为表中数据的最小值减10.
            //图表中,Y轴的最大值为表中数据的最大值加10,
            //第三个参数用于设计后背景方格的密集程度,方格中每一格表示的高度为Y轴的10
            chart.Y_Axis.SetRange(ListData.Min() - 10, ListData.Max() + 10, (Convert.ToInt32(ListData.Max()+10)) / 10);

            chart.X_Axis.Labels = xal;
            //chart.X_Axis.Set3D(12);   //设置X轴的3D效果,还是挺好看的
            chart.Tooltip = new ToolTip("my tip #val#");

            //这4行代码还是要的,清空缓存
            Response.Clear();
            Response.CacheControl = "no-cache";
            Response.Write(chart.ToPrettyString());
            Response.End();

            return View();
        }

  其中前台页面代码如下:

<html>
<head>
    <title>Index</title>
</head>
<body>
    <div>
        <script type="text/javascript" src="/FlashChart/swfobject.js"></script>
        <br />
        &nbsp;&nbsp;&nbsp;&nbsp;<div id="week_Tooltip" style="margin-bottom: 20px;">
        </div>
        &nbsp;&nbsp;&nbsp;&nbsp;<div id="month_Tooltip">
        </div>
        <script type="text/javascript">
            swfobject.embedSWF("/FlashChart/open-flash-chart-SimplifiedChinese.swf", "week_Tooltip", "700px", "400px", "9.0.0", "expressInstall.swf", { "data-file": "/Chart/ITooltip?d=7&m=0" });
        </script>
    </div>
</body>
</html>

  显示效果如下:

  


元素/属性


形状或作用


参数1


title


显示图表主题(最上方)


主题名称


x_legend


X坐标说明(最下方, 与X轴平行)


说明信息


y_legend


Y坐标说明(最左边, 与Y轴平行)


说明信息


x_labels


设置X轴坐标显示


y_label_size


x_label_style


设置X轴样式


字体大小


y_label_style


设置Y轴样式


字体大小


x_ticks


控制X轴坐标标记显示


X轴坐标标记长度


y_ticks


控制Y轴坐标标记显示


Y轴坐标标记最小长度


X_min


设置X轴坐标最小值


X轴坐标最小值


x_max


设置X轴坐标最大值


X轴坐标最大值


y_min


设置Y轴坐标最小值


Y轴坐标最小值


y_max


设置Y轴坐标最大值


Y轴坐标最大值


bg_colour


设置背景颜色


inner_background


设置坐标区域内部颜色


颜色1


bg_image


设置背景图片


图片位置


bg_image_x


设置图片横向位置


[left |center |right]


bg_bg_image_y


设置图片纵向位置


[top |middle |bottom]


x_axis_colour


设置X轴颜色


y_axis_colour


设置Y轴颜色


x_axis_steps


设置X轴线条间隔


x_axis_3d


设置X轴3d效果的高度


x_grid_colour


设置X轴线条颜色


y_grid_colour


设置Y轴线条颜色


show_y2


设置Y轴右边也显示坐标


[true |false]


y2_lines


设置哪个图是根据右边Y坐标的值来显示


[可以有多个]


y_format


格式化Y轴显示(常与#val#等联合使用)


values


设置值


num_decimals


格式化小数位数


is_fixed_num_decimals_forced


是否强制格式化小数


[true |false]


is_decimal_separator_comma


是否使用小数分隔符


[true: , |false: . ](与千位分隔符相反)


is_thousand_separator_disabled


是否使用千位分隔符


[true |false]


x_offset


是否自动补偿以适应图的显示


[true |false]

关于toolTip

在chart中有一个参数为tool_tip,起到title的作用。这个参数的值的格式和其他的参数不一样。如下例中:

so.addVariable("tool_tip","#key#\nhigh:#high#\nlow:#low#\nclost:#close#");

tool_tip的参数值中#...#这个格式是起替换的作用。比如:   #x_label#代表鼠标所在列的X轴文案。   #val#代表了鼠标所在区域的值。   #key#代表了鼠标所在区域,此种点,线和主体的文案。   #high#表示鼠标所在区域最高值。   #low#表示鼠标所在区域最低值。   #clost#表示鼠标所在区域关闭值。   #open#表示鼠标所在区域开始值。

2013-05-13 今天将之前的学习测试代码直接添加到项目中,结果生成的线图多了一条线,然后改了一下这个属性就正常了。

line.Loop = false; 字面意思理解是线图是否环绕起来。

时间: 2024-10-21 20:55:10

Open Flash Chart 之线图的相关文章

Open Flash Chart 之线图(二)

上一节在研究Open Flash Chart时,漏掉不少东西,只是简单的熟悉了一下后端的属性设置.今天再来补充一下. 一.显示Open Flash Chart图表 Open Flash Chart 前台配置: swfobject.embedSWF(flashPath, "chart", "100%", "100%", "9.0.0", "expressInstall.swf",{}, {},{id:'cus

XCL-Charts画线图(Line Chart)

关于线图(Line Chart)如何画,我以前写过很详细的说明,只是在这附一下,现在的基类是怎么弄的. 基类把有关线图的所有相关元素都能开发出来变成可控制的,而隐藏了具体的位置计算,图形绘制计算等待过程,只须传入数据源, 加上自己想要的控制即可得到一个还不错的图表. 附上代码: //线图基类 chart = new LineChart(); //图所占范围大小 chart.setChartRange(0, 0, this.mScrWidth , this.mScrHeight ); //标签1对

Open Flash Chart在php中的使用教程

http://www.cnblogs.com/huangcong/archive/2013/01/27/2878650.html 为了画一个漂亮的表格,我从网上找到了OpenFlashChart(ofc),非常不错的东东.经过几天的研究终于画出了我自己的表格.先来看看我的表格(这里只是个截图): 还可以吧.也许太笨,反正费了很多周折,说说简单的使用步骤,希望给感兴趣的朋友一些帮助. 1.下载Open Flash Chart:http://sourceforge.net/projects/open

利用JFreeChart绘制股票K线图完整解决方案

http://blog.sina.com.cn/s/blog_4ad042e50100q7d9.html 利用JFreeChart绘制股票K线图完整解决方案 (2011-04-30 13:27:17) 标签: 绘制 股票 k线 it 分类: 软件_Software 因为工作的需要,接触了一些股票图形绘制类的工作,其中最主要的还是股票K线图的绘制了,如果利用编程语言最底层的图形绘制方法去绘制这类图形,如果对编程语言不是特别熟悉的话,一般是有很大的困难的,通过在网上搜索发现,以自己最熟悉的两门语言为

股票K线图-JfreeChart版

http://blog.csdn.net/ami121/article/details/3953272 股票K线图-JfreeChart版 标签: jfreechartpropertiesappletdatetabledataset 2009-03-03 16:00 9378人阅读 评论(8) 收藏 举报 分类: jfreechart(7) 股票的K线图是所有Chart图中最复杂的一种,把一个K线图拆分开来我们可以发现,K线图的上半截实际上是由阴阳线(阴阳线可以表示开盘价,收盘价,最高价,最低价

PHP使用HighChart生成股票K线图详解

本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群:   281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29LoD19)    QQ:1542385235 HighChart是集合了各种常见的web图表的开源合集,其中产生股票K线图的部分叫做“HighStock”.大家如果需要可以到我的资源页下载,是最新版: http://download.csdn.net/detail/wangyuchun_799/9353525

推荐几款web站点JS(JQeury)图表(饼图,柱图,线图)

一 Google Chart Tools 官网:https://developers.google.com/chart/ 谷歌图表工具提供了一个完美的方式形象化您的网站上的数据.从简单到复杂的层次结构树图线图,图表厨房提供了大量精心设计的图表类型.填入您的数据很容易被使用所提供的客户端和服务器端工具. 在线示例:https://developers.google.com/chart/interactive/docs/examples 在线文档:http://code.google.com/api

Canvas绘制股票K线图

最近想在小程序做股票K线图,于是尝试用Canvas实现股票K线图.K线图用到Canvas的API其实只有划线和画矩形,即moveTo(),lineTo(),fillRect()等函数. 第一步,我们先定义K线类: function Bar(open,high,low,close,width){ this.open = open; this.high = high; this.low = low; this.close = close; this.width = width | 5; } 输入参数

WPF中使用amCharts绘制股票K线图

原文:WPF中使用amCharts绘制股票K线图 本想自己用GDI绘图, 通过数据直接绘制一张蜡柱图, 但觉得这样子的功能比较少, 所以到网上搜索一些能画出K线图的控件. 发现DynamicDataDisplay挺好的, 在它的开发截图里也发现可以绘制蜡柱图, 但文档好像做的不是很好, 不知道怎么用它来画, 在寻找它比较好的例子的时候发现有人推荐用amCharts绘制, 所以便去看了一下, 发现挺好用的, 效果如下: 准备工作 先要去这里下载amCharts Stock Chart for WP