请问:怎样在Office Web中,正确显示出不连续曲线(通常不连续部分默认为0)

zltostem 2004-06-10 08:31:50
ASP中用Office Web组件(OWC)制图通常做的是连续曲线。请问如果源数据不连续的

话,怎样正确显示出不连续曲线(通常不连续部分默认为0)

比如:一组数据,为一年纪录12个月,其中部分月份数值为空(例如:2月份),那么

图中显示的是去掉了2月份纪录的连续曲线,怎样做,才能曲线在2月份断开,显示正常?
...全文
213 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
zltostem 2004-06-14
  • 打赏
  • 举报
回复
up
zltostem 2004-06-13
  • 打赏
  • 举报
回复
为何

那试试这个:clement888@163.com
eduzi 2004-06-12
  • 打赏
  • 举报
回复
我发的信被退了回来。
zltostem 2004-06-11
  • 打赏
  • 举报
回复
我的邮箱:liuh4@tostem.co.jp

以下是要修改的代码(注释是日文的):

<script language=vbs>
Sub Window_OnLoad()
Dim categories(11) 'グラフの表のX軸に軸の名前を表示します。
Dim categories2(3) 'グラフの表のX軸に軸の名前を表示します。

'カテゴリを表す文字列の配列を作成します。
categories(0) = "1月"
categories(1) = "2月"
categories(2) = "3月"
categories(3) = "4月"
categories(4) = "5月"
categories(5) = "6月"
categories(6) = "7月"
categories(7) = "8月"
categories(8) = "9月"
categories(9) = "1月"
categories(10) = "2月"
categories(11) = "3月"

Call oresen(categories)
End Sub

Sub oresen(categories)
'///////////////////////////////////////////////////////////////////////////////////////
'折れ線グラフ
'///////////////////////////////////////////////////////////////////////////////////////

Dim values(11) 'グラフの値を格納する配列
Dim chConstants '置き換え用変数
Dim inti 'ループ用変数
Dim rmax '乱数の最大値

Randomize ' 乱数発生ルーチンを初期化します
rmax = 10

'/*グラフ ワークスペースの内容をクリアします。これにより、既に存在する */
'/*すべての古いグラフが削除され、グラフ ワークスペースは完全に */
'/*空になります。次に、1 つのグラフ オブジェクトを追加します。 */
ChartSpace1.Clear
ChartSpace1.Charts.Add
Set chConstants = ChartSpace1.Constants

'//グラフの種類
'//ここでは折れ線グラフを指定しています。
'//通常の折れ線グラフ: chChartTypeLine
'//中間点付きの折れ線グラフ: chChartTypeLineMarkers
'//ここで指定した物は1つの表全体にかかってくるので注意して下さい。
'*****************************************************************
ChartSpace1.Charts(0).Type = chConstants.chChartTypeLineMarkers '*
'*****************************************************************
'ChartSpace1.Charts(0).Type = chConstants.chChartTypeColumnClustered
'*****************************************************************
'ChartSpace1.Charts(0).Type = chConstants.chChartTypeColumnStacked
'*****************************************************************
'/*グラフに 2 つの系列を追加します。*/
'//Charts(0)の表に 2 つの系列(グラフ)を追加します。
'//ここでは2つの折れ線を表示させています。
ChartSpace1.Charts(0).SeriesCollection.Add
ChartSpace1.Charts(0).SeriesCollection.Add

'/*最初の系列のカテゴリを設定します (このコレクションのインデックスは 0 で始まります)。*/
'//カテゴリを設定しないとグラフの数がカテゴリ数になります。
'//第三引数のcategoriesはこの関数の引数としてもらってきています。
ChartSpace1.Charts(0).SeriesCollection(0).SetData chConstants.chDimCategories, chConstants.chDataLiteral, categories

'//グラフの値を設定します。
values(0) = 0.90
values(1) = 0.87
values(2) = 0.56
values(3) = 0.87
values(7) = 0.77

'//現在は適当な数値を入れています。
' For inti = 0 To Ubound(values)
' values(inti) = (Int(rmax * Rnd) + 90.5)/100
' Next


'/*/////////////////////////////////////////////////////////////////////////////////////////*/
'/*SetData(Dimension, DataSourceIndex, DataReference) */
'/*第一引数:Dimension:ここではchDimCategoriesかchDimValuesを指定します。 */
'/*第二引数:DataSourceIndex:chDataLiteral を指定してリテラル ソースからデータを設定します。*/
'/*第三引数:DataReference:一次元配列またはタブ区切りの文字列を設定できます。 */
'/*/////////////////////////////////////////////////////////////////////////////////////////*/

'/*最初の系列のカテゴリを設定します (このコレクションのインデックスは 0 で始まります)。*/
'//カテゴリを設定しないとグラフの数がカテゴリ数になります。
'//第三引数のcategoriesはこの関数の引数としてもらってきています。
ChartSpace1.Charts(0).SeriesCollection(0).SetData chConstants.chDimValues, chConstants.chDataLiteral, values

'//グラフの値を設定します。
' values(0) = 380
' values(1) = 220
' values(2) = 280
' values(3) = 260

'//現在は適当な数値を入れています。
' For inti = 0 To Ubound(values)
' values(inti) = (Int(rmax * Rnd) + 90.5)/100
' Next
' values(2)=""
' values(6)=""
' values(9)=""

'/*/////////////////////////////////////////////////////////////////////////////////////////*/
'/*SetData(Dimension, DataSourceIndex, DataReference) */
'/*第一引数:Dimension:ここではchDimCategoriesかchDimValuesを指定します。 */
'/*第二引数:DataSourceIndex:chDataLiteral を指定してリテラル ソースからデータを設定します。*/
'/*第三引数:DataReference:一次元配列またはタブ区切りの文字列を設定できます。 */
'/*/////////////////////////////////////////////////////////////////////////////////////////*/

'/*最初の系列のカテゴリを設定します (このコレクションのインデックスは 0 で始まります)。*/
'//カテゴリを設定しないとグラフの数がカテゴリ数になります。
'//第三引数のcategoriesはこの関数の引数としてもらってきています。
ChartSpace1.Charts(0).SeriesCollection(1).SetData chConstants.chDimValues, chConstants.chDataLiteral, values

'/*グラフの凡例表示を有効(HasLegend=True)にし、凡例の表示名を指定しています。*/
ChartSpace1.Charts(0).SeriesCollection(0).Caption = "本年度"
ChartSpace1.Charts(0).SeriesCollection(1).Caption = "前年度"
ChartSpace1.Charts(0).HasLegend = True

'//グラフの凡例表示する位置を指定しています。
ChartSpace1.Charts(0).Legend.Position = chConstants.chLegendPositionTop

'//メモリなどの表示形式を指定します。
ChartSpace1.Charts(0).Axes(chConstants.chAxisPositionLeft).NumberFormat = "###0.00%"

'//Y軸のメモリのメモリ幅を指定します。
ChartSpace1.Charts(0).Axes(chConstants.chAxisPositionLeft).MajorUnit = 0.1
ChartSpace1.Charts(0).Axes(chConstants.chAxisPositionLeft).Scaling.Maximum =1
ChartSpace1.Charts(0).Axes(chConstants.chAxisPositionLeft).Scaling.Minimum =0.5


End Sub
</script>
<body bgcolor="156879">
<!--テーブルタグの中にグラフを表示しています。tdのwidthはピクセル単位のようです。-->
<object id=ChartSpace1 classid=CLSID:0002E500-0000-0000-C000-000000000046 style="width:100%;height:350"></object>
</body>
eduzi 2004-06-11
  • 打赏
  • 举报
回复
可以,我也可以帮你改,只要你告诉我数据到底是怎么样的就行。
给我你的油箱好了。不明白的问我。
我今天不做图形了,今天要写触发器。
zltostem 2004-06-11
  • 打赏
  • 举报
回复
早上好,我又来求救了:)
zltostem 2004-06-10
  • 打赏
  • 举报
回复
不行,只能是曲线图
我已经试了很多的办法了,只要某一个值没有,就默认为零了。
我想应该试改图标的某些属性,但没有成功
ken1 2004-06-10
  • 打赏
  • 举报
回复
换成柱型图
看看
zltostem 2004-06-10
  • 打赏
  • 举报
回复
up
zltostem 2004-06-10
  • 打赏
  • 举报
回复
help up

这个问题如果没有解决的话,经理就要开除我了,请各位一定要帮这个忙啊。
zltostem 2004-06-10
  • 打赏
  • 举报
回复
是可以把代码给我吗?
谢谢!
zltostem 2004-06-10
  • 打赏
  • 举报
回复
那你用的是什么呢 ?

我们做的东西已经基本成形了

但是就差这点了

你会不会改呢?

可以把代码给你!
eduzi 2004-06-10
  • 打赏
  • 举报
回复
我做过,今天还做了两个图,我不用office组件,里面没有数据的线会自动断开,y轴高度会自动伸缩。
可是你用的是office组件?而且代码给你的话肯定要修改,怎么办?
zltostem 2004-06-10
  • 打赏
  • 举报
回复
我们只要改一条线的一部分,请问怎么改?十分感谢!
zltostem 2004-06-10
  • 打赏
  • 举报
回复
我们正在做的东西,客户需要这样的效果,现在查了很多资料,也没有找到相关的信息,请大家帮忙。我现在已经没有银子了,对不起大家,如果兄弟日后发财了,一定涌泉相报。
wanghui0380 2004-06-10
  • 打赏
  • 举报
回复
set m_cspace = server.CreateObject("OWC.Chart")
set m_cspace.DataSource = m_rs
set cht = m_cspace.Charts.Add()

cht.SeriesCollection(4).Interior.Color = "blue" '改变第四条线的颜色为背景色
Cht.SeriesCollection(4).Line.Color = "blue"

不知道行不行
zltostem 2004-06-10
  • 打赏
  • 举报
回复
我们正在做的东西,客户需要这样的效果,现在查了很多资料,也没有找到相关的信息,请大家帮忙。我现在已经没有银子了,对不起大家,如果兄弟日后发财了,一定涌泉相报。
zltostem 2004-06-10
  • 打赏
  • 举报
回复
up

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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