找回密码
 立即注册

QQ登录

只需一步,快速开始

rongchao

注册会员

5

主题

15

帖子

54

积分

注册会员

积分
54

活字格认证

最新发帖
rongchao
注册会员   /  发表于:2014-4-29 20:13  /   查看:7680  /  回复:9
XYZSurfaceSeries的Series没有CategoryNames属性,那么X轴、Z轴如何显示成日期或其他需要的字符?现在只能显示1、2、3、4序号。

9 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-4-30 10:40:00
沙发
回复 1楼rongchao的帖子

可以通过 LabelFormatter 来转换为 日期等格式,可以通过 ChartDesigner 设计,方法请参考截图:



代码:
  1. FarPoint.Win.Spread.Model.GeneralFormatter test = new FarPoint.Win.Spread.Model.GeneralFormatter();
  2. test.SetFormatString("$#,##.00", false);

  3. FarPoint.Win.Spread.Model.GeneralFormatter test2 = new FarPoint.Win.Spread.Model.GeneralFormatter();
  4. test2.SetFormatString("#,##.00", false);

  5. FarPoint.Win.Chart.ValueAxis v1axis = new FarPoint.Win.Chart.ValueAxis();
  6. 1axis.LabelFormatter = test2;

  7. FarPoint.Win.Chart.BarSeries series = new FarPoint.Win.Chart.BarSeries();
  8. series.Values.Add(10.0);
  9. series.Values.Add(2.0);
  10. series.Values.Add(4.0);
  11. series.Values.Add(8.0);
  12. series.LabelVisible = true;
  13. series.LabelFormatter = test;

  14. FarPoint.Win.Chart.YPlotArea plotArea = new FarPoint.Win.Chart.YPlotArea();
  15. plotArea.Location = new PointF(0.2F, 0.2F);
  16. plotArea.Size = new SizeF(0.6F, 0.6F);
  17. plotArea.XAxis.LabelFormatter = test;
  18. plotArea.YAxes.Clear();
  19. plotArea.YAxes.Add(v1axis);

  20. plotArea.Series.Add(series);
  21. FarPoint.Win.Chart.ChartModel model = new FarPoint.Win.Chart.ChartModel();
  22. model.PlotAreas.Add(plotArea);
  23. FarPoint.Win.Spread.Chart.SpreadChart chart = new FarPoint.Win.Spread.Chart.SpreadChart();
  24. chart.Size = new Size(200, 200);
  25. chart.Location = new Point(100, 100);
  26. chart.Model = model;
  27. fpSpread1.Sheets[0].Charts.Add(chart);
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
rongchao
注册会员   /  发表于:2014-4-30 11:38:00
板凳
为什么我的7.0 V3没有Date的LabelFormatter格式?
另外在XYZSurfaceSeries中LabelFormatter设置也达不到要求。
如:横坐标X是特定日期,如2001、2002。而它默认的序列1、2即使转化为日期,也与特定日期不符。Z坐标是一组文本。XYZSurfaceSeries中就没有输入文本组的CategoryNames。怎么将一组文本反映到Z坐标的label上?
回复 使用道具 举报
rongchao
注册会员   /  发表于:2014-5-4 11:58:00
地板
没有CategoryNames属性的XYZSurfaceSeries是不是没有办法解决X轴和Z轴的自定义问题?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-5-4 12:29:00
5#
回复 3楼rongchao的帖子

rongchao 你好,

附件是我当前实现的进度,请指出和你那边预期的不符合地方,我再修改:



CategoryNames 问题我正在调查。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
rongchao
注册会员   /  发表于:2014-5-4 14:34:00
6#
只是更改 LabelFormatter,那么X坐标只能是12/31/1899,对应0,1/1/1900,对应1,这显然不是正常的日期,假如是2014-5-1这天对应的数据是(2,3)、2014-5-2对应的数据是(5,8),这样X轴日期就应该是2014-5-1、2014-5-2,再考虑Z轴如果是一组文本也没办法处理。另外虽然是valueAxis,但是我需要假如500.12、501.25、502.25这样的小数,XYZSurfaceSeries好像也无法实现。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-5-5 14:08:00
7#
回复 6楼rongchao的帖子

和你确认下问题:
1. 日期起始值为12/31/1899,X 轴无法正常显示日期类型坐标。
2.Z 轴需要显示为定制的文本信息。
3.希望调整当前的显示单位,精确到小数点?

以上,如果确认无误。
我需要和研发组进行沟通,看能否进行定置。
谢谢
回复 使用道具 举报
rongchao
注册会员   /  发表于:2014-5-5 14:45:00
8#
可以这么说。
其实三条可以归结为一条,就是X轴和Z轴不一定是1、2、3等序号,而是特定的文本,你可以把日期和小数,甚至百分号都看成文本来显示。有个CategoryNames属性就可以解决,不知为什么YZSurfaceSeries就没有,都显示成1、2、3等序号怪怪的。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-5-5 17:07:00
9#
回复 8楼rongchao的帖子

好的,问题已经确定,有进一步信息反馈给你。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-5-14 09:36:00
10#
回复 8楼rongchao的帖子

你好,
经调查,XYZSurfaceSeries 当前没有提供 CategoryNames 类似功能属性,目前已经作为需求提交给产品组,有进一步消息反馈给你。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部