一半家当请教: TChart如何处理多选题的柱状图?(200分)

  • 主题发起人 主题发起人 sleepy
  • 开始时间 开始时间
S

sleepy

Unregistered / Unconfirmed
GUEST, unregistred user!
也就是累计可能超过100%的图

例如:喜欢大富翁的理由

80%|
|
60%|
| 50%
40%| 40% |
| | | 30%
20%| | 20% | |
| | | | |
0% |__|_____|_____|_____|________
高手多 有趣 漂亮 没理由

谁做出这样的图来,把代码或者 *.tee文件发给俺,立即给分,谢谢!
 
看在俺费功夫画这么个图的份上,帮帮俺吧 8...(
Sleepy 痛哭流涕地说....
 
有些难,有点意思,关注!
 
回答不了,就帮你提前一下吧
 
奇怪,你这个图的比例是怎么得来的?
 
谢谢大家关注 :)

to bugs:
多选题就会有这样的比例(我画的是举个例子,呵呵)

 
处理好SQL就可以了吧
 
你可以先计算出各种选项的总数,如s1,s2,s3,s4,再用s1/(s1+s2+s3+s4)求出比例。这种
方法可以满足你的要求吗?
 
这样就不对了。这是一个多项选择题目,
多选题恰恰不能相加。 s1+s2+s3+s4没有意义。

就举上边的例子吧. 我选择了 高手多 和 漂亮, 你选择了高手多 和有趣。
那么, 咱们俩的结果就是 :

高手多: 100%
漂亮: 50%
有趣: 50%

 
俺给Steema公司发了个mail, 得到了如下答复:

The axis "%" is done doing this:
1) Click the left axis
2) Click "edit..."
3) Go to "labels"
4) Go to "format"
5) replace the default #.###0.### with : 0%
and the axis labels now show with a percent.
One thing it cannot do right now is to put the % in the marks on top of
bars.

轴的问题解决了,值没解决。

俺在窑洞得到如下答复:

直接用百分数是不行,但可以直接用50,40,30,20 做数据,再
将 Series -> General -> Formats -> Values 的格式设为
#,##0.##% 就差不多了。

这样解决了值的问题。

果然有高手啊 :-)
 
发现老外的服务做得就是好, 发mail总是能够得到回复.

俺给winzip等很多公司都发过求助的问题, 都得到了答复,呵呵。
 
你可以先计算出各种选项的总数(如s1,s2,s3,s4)和参与选择的人数(Count),再用各种选项的
总数除以参与选择的人数:
percent := si/Count
求出比例。
 
dbchart可以按照数据控件的字段定制显示的格式,也可以定义函数,看你打算怎么用了,
我觉得用字段好,但是还没试,应该可以实现的。关注
 
to thong_517:

俺现在的职业就是与各种统计图形和数据库打交道。俺是做统计分析
工作的,学Delphi程序只是兴趣和辅助的工具。因此,水平很差,还请多多
指教。

在多项选择题的处理上, 一般都需要将各选项设定为变量(字段),
值取 0,1的形式。 例如,数据库中示例如下:

ID 性别 高手多 有趣 .......
1 1 1 0 0
2 2 0 1
3 1 1 1
4 1 1 0
. .
. .

那么,怎样采用定义函数或者其它方式直接对数据库中的多选字段绘制百分比图呢?
更复杂的, 如果需要与 性别 做一个交叉, 怎样绘制百分比图呢?
最复杂的, 如果两个都是多选题进行交叉, 怎样绘制百分比图呢?

我只会把每一个值计算出来,如cqhxping所说的方法,然后addbar
或者addxy等到Chart上, 直接利用数据库的却不会。

如果大侠能够把这个问题搞定, 俺可以把剩下的1000分全部赠与英雄,
先谢过了!!!

To cqhxping:
谢谢啦。 对于俺来说,怎样计算不是问题,否则就下岗了,呵呵。

 
可以写一个sql语句,把结果查出来,然后设置dbchart的显示字段,分别对应query的字段
并且设置标签显示的内容和方式,具体的内容稍后写出来。
 
用饼状图不好吗??
 
后退
顶部