open-flash-chart2

<html>
<head>
 
<script type=”text/javascript” src=”js/swfobject.js”></script>
<script type=”text/javascript”>
swfobject.embedSWF(
  “open-flash-chart.swf”, “my_chart”, “550″, “200″,
  “9.0.0″, “expressInstall.swf”,
  {”data-file”:”data.txt”}
  );
</script>
</head>
<body>
<p>Hello World</p>
<div id=”my_chart”></div>
</body>
</html>

数据文件格式如下:

{
  “y_legend”:{
    “text”:   “Time of day”,
    “style”: “{color: #736AFF;}”
  },
“elements”:[
    {
      "type":      "line",
      "colour":    "#736AFF",
      "text":      "Avg. wave height (cm)",
      "font-size": 10,
      "width":     2,
      "dot-size":  4,
      "halo-size": 0,
      "values" :   [1.5,1.69,1.88,2.06,2.21,2.34,2.43,2.48,2.49,2.47,2.40,2.30,2.17,2.01,1.83,1.64,1.44,1.24,1.05,0.88,0.74,0.62,0.54,0.50,0.50,0.54,0.61,0.72,0.86,1.03,1.22,1.41,1.61,1.81,1.99,2.15,2.29,2.39,2.46,2.49,2.48,
{"value":2.44,"colour":"#FF0000","tip":"monkies"},2.35,2.23,2.08]
    }
  ], “x_axis”:{
    “labels”: {
      “rotate”: “vertical”,
      “labels”:["2:00am % ?,"2:10","2:20","2:30","2:40","2:50",
                "3:00am","3:10","3:20","3:30","3:40","3:50",
                "4:00am","4:10","4:20","4:30","4:40","4:50",
                "5:00am","5:10","5:20","5:30","5:40","5:50",
                "6:00am","6:10","6:20","6:30","6:40","6:50",
                "7:00am","7:10","7:20","7:30","7:40","7:50",
                "8:00am","8:10","8:20","8:30","8:40","8:50",
                "9:00am","9:10","9:20"]
    }
  },
“y_axis”:{
    “max”:   3
  }}

数据放在data.txt里,演示

上一节提到open-flash-chart2的数据是通过存储在txt文件中,然后通过类似那个http://yoururl/chart.html?ofc=datafile.txt 这样的形式来加载不同的数据,当然ofc后面的参数可以是php文件,php类库的使用将在以后的教程中出现,本节将讨论使用js加载数据的另一种方法, 代码如下:
是<script type="text/javascript" src="js/json/json2.js"></script>
<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript">
swfobject.embedSWF("open-flash-chart.swf", "my_chart", "350", "200", "9.0.0");
</script>

<script type="text/javascript">

function ofc_ready()
{
 alert('ofc_ready');
}

function open_flash_chart_data()
{
 alert( 'reading data' );
 return JSON.stringify(data);
}

function findSWF(movieName) {
  if (navigator.appName.indexOf("Microsoft")!= -1) {
    return window[movieName];
  } else {
    return document[movieName];
  }
}
 
var data = {
  “elements”: [
    {
      "type": "bar",
      "text": "u5317u4eac",
      "values": [
        9.9355,
        18.2142,
        12.1315,
        11.9911,
        10.2637,
        4.152,
        5.8293,
        17.8541,
        17.1762,
        25.2105,
        24.9323,
        23.5468,
        2.7642,
        3.9232,
        30.6192,
        17.9746,
        26.1273,
        14.5226,
        17.3219,
        5.0837,
        2.1281,
        18.9674,
        8.3799
      ]
    }
  ],
  “title”: {
    “text”: “200812u9500u552eu7edfu8ba1u56feu8868″
  },
  “y_axis”: {
    “min”: 0,
    “max”: 31,
    “steps”: 2
  },
  “x_axis”: {
    “labels”: {
      “labels”: [
        "01",
        "02",
        "03",
        "04",
        "05",
        "06",
        "07",
        "08",
        "09",
        "10",
        "11",
        "12",
        "13",
        "14",
        "15",
        "16",
        "17",
        "18",
        "19",
        "20",
        "21",
        "22",
        "23"
      ]
    }
  },
  “y_legend”: {
    “text”: “chinaticket.com chart 1:10000″,
    “style”: “color:#736AEF; font-size:14px;”
  }
};</script>

演示

这种方式更适合数据实时加载,比如php中带查询表单,open-flash-chart2的用法很灵活,如果你是新手可能现在还是一头雾水,上面 的json的格式各个参数将在下一节里做详细的解释。

前面俩节讲了open flash chart的基本调用方法,下来开始我们来详细的通过实例来分析OFC的参数设置。

首先今天要讲的是json数据格式所代表的意义,做了下简单的注释,英文不好的同学可以找翻译软件翻译一下官网的说明,这里只挑重要的来讲。

#title参数

{
  “title”:{
    “text”:  “Chart Demo”,
    “style”: “{font-size: 20px; color:#0000ff; font-family: Verdana; text-align: center;}”
  }
}
title是非必选参数,title下有text和style俩个参数,相信不用多做解释大家都能明 白是和什么意思,需要注意的是FLASH里的style所设置的CSS跟网页里不完全一样,详细的可以google搜索了解一下。

#y_legend参数

{
     “y_legend”:{
              “text”:”Chart Demo”,
             “style”:”{…}”
            }
}

y_legend也是可选参数,值y轴的说明

#x_axis参数 x轴的设置

{
         “x_axis”:{
                   “stroke”:           1, // X轴线的宽度
                  “tick-height”:  10,//刻度线高度值
                  “colour”:           “#d000d0″,//线的颜色
                  “grid-colour”: “#00ff00″,//表格线颜色
                  “labels”:           ["January,"February","March","April","May","June","July","August","Spetember"]// 标签
               }
}

 

另外x_axis还有的参数:

3d: boolean, 设置3D
steps: 取决于tick-height属性 间隔

#Y Axis 参数的属性跟X轴的基本相同

#Elements 是一个数组对象;如line,bar,scatter等不同的图表,可以在一个chart里有多个elements对象

{
  “elements”:[
    {
      "type":      "bar",
      "alpha":     0.5,
      "colour":    "#9933CC",
      "text":      "Page views",
      "font-size": 10,
      "values" :   [9,6,7,9,5,7,6,9,7]
    },
    {
      “type”:      “bar”,
      “alpha”:     0.5,
      “colour”:    “#CC9933″,
      “text”:      “Page views 2″,
      “font-size”: 10,
      “values” :   [9,6,7,9,5,7,6,9,7]
    }
  ]
}

基本上就是这些了,还有一些别的属性可以参见英文文档,后面将这种来将php生成chart所需json数据的类库的用法。

require_once('includes/open-flash-chart2/php-ofc-library/open-flash-chart.php');
$tmpx = array();//x轴标签的数组
$tmpy = array();//从数据库查询得到y轴数据的数组
 $title = new title( '年销售统计图表' );
    $title->set_style("font-size:18px;");

    $bar = new bar();
    $bar->text= $city;
    $bar->set_values( $tmpy );

    $y = new y_axis();
    $y->set_range(0,ceil(max($tmpy)),20);

    $x = new x_axis();
    $x->set_labels_from_array( $tmpx );

    $yl =  new y_legend();
    $yl->y_legend( "chinaticket.com chart 1:10000" );
    $yl->set_style( "color:#736AEF; font-size:12px;" );

    $chart = new open_flash_chart();
    $chart->set_title( $title );

    $chart->set_y_axis( $y );
    $chart->set_x_axis( $x );
    $chart->set_y_legend($yl);

    $chart->add_element($bar);

$chart->toString();//生成json数据
$chart->toPrettyString();//生成适 合阅读的数据格式

具体那一种图表格式可以打开相对应的class文件查询相关的参数、函数, 用法都比较简单的。

 

 

元素 / 属性

形状或作用

参数 1

参数 2

参数 3

参数 4

参数 5

参数 6

title

显示图表主题(最上方)

主题名称

样式 style

 

 

 

 

x_legend

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

说明信息

字体大小

字体颜色

 

 

 

y_legend

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

说明信息

字体大小

字体颜色

 

 

 

x_labels

设置 X 轴坐标显示

 

 

 

 

 

 

y_label_size

 

 

 

 

 

 

 

x_label_style

设置 X 轴样式

字体大小

字体颜色

角度 (0:0 , 1:90 ,2:45 )

设置 X 轴线条间隔

X 轴间隔线条颜色

 

y_label_style

设置 Y 轴样式

字体大小

字体颜色

 

 

 

 

x_ticks

控制 X 轴坐标标记显示

X 轴坐标标记长度

 

 

 

 

 

y_ticks

控制 Y 轴坐标标记显示

Y 轴坐标标记最小长度

Y 轴坐标标记最大长度

Y 轴分割成几个段

 

 

 

X _min

设置 X 轴 坐标最小值

X 轴坐标最小值

 

 

 

 

 

x _max

设置 X 轴 坐标最大值

X 轴坐标最大值

 

 

 

 

 

y_min

设置 Y 轴坐标最小值

Y 轴坐标最小值

 

 

 

 

 

y_max

设置 Y 轴坐标最大值

Y 轴坐标最大值

 

 

 

 

 

bg_colour

设置背景颜色

 

 

 

 

 

 

inner_background

设置坐标区域内部颜色

颜色 1

颜色 2( 从 颜色 1 渐变到颜色 2)

渐变角度

 

 

 

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]

 

 

 

 

 

bar

柱状图

透明度

颜色

名称#key#

名称字体大小

 

 

bar_glass

水晶柱状图

透明度

内部颜色

外框颜色

名称#key#

名称字体大小

 

bar_fade

渐变柱状图

透明度

颜色

名称#key#

名称字体大小

 

 

bar_arrow

带有箭头的柱状图

透明度

颜色

名称#key#

名称字体大小

 

 

bar_3d

3D 立体柱状图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值