找回密码
 立即注册

QQ登录

只需一步,快速开始

lufq

论坛元老

13

主题

34

帖子

9683

积分

论坛元老

积分
9683

活字格认证

[已处理] 如何设置单位?

lufq
论坛元老   /  发表于:2013-12-25 08:56  /   查看:6496  /  回复:5

你好:请问如何设置如图所示的单位位置,使位于Y轴上方?

本帖子中包含更多资源

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

x

5 个回复

倒序浏览
lufq
论坛元老   /  发表于:2013-12-25 09:14:00
沙发

还有一个问题,如何使图表中的字体根据电脑屏幕的大小而变化?电脑分辨率变大字体变大?

本帖子中包含更多资源

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

x
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-12-25 10:45:00
板凳
回复 1楼lufq的帖子

你指的是希望 X 轴位置在图表上侧吧?

  1. this.c1chart1.View.AxisX.Position = C1.WPF.C1Chart.AxisPosition.Far;
复制代码
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-12-25 10:47:00
地板
回复 2楼lufq的帖子

问题2#是否指x轴字体随着图表的大小而变化?

  1.         public MainWindow()
  2.         {
  3.             InitializeComponent();

  4.             this.c1chart1.View.AxisX.Position = C1.WPF.C1Chart.AxisPosition.Far;
  5.             this.c1chart1.SizeChanged += c1chart1_SizeChanged;
  6.         }

  7.         void c1chart1_SizeChanged(object sender, SizeChangedEventArgs e)
  8.         {
  9.             Random a = new Random();
  10.             int fontsize = a.Next(10, 100);
  11.             this.c1chart1.View.AxisX.FontSize = fontsize;
  12.         }
复制代码
回复 使用道具 举报
lufq
论坛元老   /  发表于:2013-12-25 13:01:00
5#
”单位:小时“ 这个怎么放在Y轴上方? 字体随着分辨率如何自适应大小?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-12-25 15:12:00
6#
回复 5楼lufq的帖子

“单位:小时”测试代码如下:

  1. public MainWindow()
  2.         {
  3.             InitializeComponent();

  4.             this.c1chart1.View.AxisX.Position = C1.WPF.C1Chart.AxisPosition.Far;
  5.             this.c1chart1.View.AxisX.Title = "fdfdsfd";

  6.             CreateTitle(this.c1chart1.View.AxisY, "单位:小时", new SolidColorBrush(Colors.Red));
  7.         }

  8.         void c1chart1_SizeChanged(object sender, SizeChangedEventArgs e)
  9.         {
  10.             Random a = new Random();
  11.             int fontsize = a.Next(10, 100);
  12.             this.c1chart1.View.AxisX.FontSize = fontsize;
  13.         }

  14.         void CreateTitle(Axis ax, string text, SolidColorBrush fg)
  15.         {
  16.             TextBlock tb = new TextBlock()
  17.             {
  18.                 TextAlignment = TextAlignment.Right,
  19.                 Text = text,
  20.                 HorizontalAlignment = HorizontalAlignment.Left,
  21.                 VerticalAlignment = VerticalAlignment.Top,
  22.                 Width = 80,
  23.                 RenderTransform = new RotateTransform() { Angle = 90 },
  24.                 RenderTransformOrigin = new Point(0.8, 2.9) // new Point(0.8,1.1),
  25.             };

  26.             if (fg != null)
  27.                 tb.Foreground = fg;

  28.             ax.Title = new Border()
  29.             {
  30.                 HorizontalAlignment = HorizontalAlignment.Left,
  31.                 VerticalAlignment = VerticalAlignment.Top,
  32.                 Child = tb,
  33.             };
  34.         }
  35.     }
复制代码


首先需要获取屏幕分辨率,根据分辨率设置字体大小,C1Chart设置字体大小代码如下,

  1. this.c1chart1.View.AxisX.FontSize = fontsize;
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部