红着眼 2023-10-30 18:51 采纳率: 27.8%
浏览 17
已结题

WPF Chart图表左右两侧空格问题。C#

WPF Chart图表问题,在开发中遇到以下2个问题。
什么属性可以去除图表四周的空白区域,尤其是左右两侧的空白显得特别宽大。
如图

img

我找到一个和这个问题差不多的提问,问题地址是:
https://blog.csdn.net/KimBing/article/details/122474794
但是我的不是echarts。

前台xaml代码如下

 xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
  xmlns:Chr="clr-namespace:System.Windows.Forms.DataVisualization.Charting;assembly=System.Windows.Forms.DataVisualization"

img

后台cs代码是

 public void Test(Chart myChart, SeriesChartType seriesChartType)
        {
            //定义图标区域
            myChart.ChartAreas.Clear();
            ChartArea chartArea1 = new ChartArea("C1");
            myChart.ChartAreas.Add(chartArea1);
            //定义储存和显示点的容器
            myChart.Series.Clear();
            Series series1 = new Series("S1");
            series1.ChartArea = "C1";
            myChart.Series.Add(series1);
            //设置图标显示样式
            foreach (var item in myChart.ChartAreas)
            {
                item.CursorX.AutoScroll = true;
                item.AxisX.MajorGrid.LineColor = System.Drawing.Color.Silver;
                item.AxisX.ScaleView.Zoomable = true;
                item.AxisX.MajorGrid.Enabled = false;//图表内的线
                item.AxisX.Enabled = AxisEnabled.False; //图标的刻度开关

                item.AxisY.Interval = 10;
                item.AxisY.MajorGrid.Enabled = false;//图表内的线
                item.AxisY.Enabled = AxisEnabled.False;//图标的刻度开关
                item.AxisY.MajorGrid.LineColor = System.Drawing.Color.Silver;
            }
            //设置标题
            myChart.Titles.Clear();
            myChart.Titles.Add("S1");
            myChart.Titles[0].Text = "标题";
            myChart.Titles[0].ForeColor = System.Drawing.Color.White;
            myChart.Titles[0].Font = new System.Drawing.Font("Microsoft Sans Serif", 11F);

            myChart.Titles[0].Visible = false;
            //设置图表显示样式
            myChart.Series[0].Color = System.Drawing.Color.FromArgb(0xD9, 0xFF, 0x00, 0x00);
            //尖峰:Area,Range,缺口饼形图:Doughnut,饼形图:Pie,圆峰的:SplineArea
            myChart.Series[0].ChartType = seriesChartType;
            myChart.Series[0].Points.Clear();
            myChart.Titles[0].Visible = false;
            myChart.Series[0].IsValueShownAsLabel = true; //是否显示折线图数据

            myChart.ChartAreas[0].AxisX.IsMarginVisible = false;
        }

  • 写回答

8条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-10-30 19:28
    关注

    引自强大而免费的微信小程序:皆我百晓生

    要去除WPF Chart图表四周的空白区域,特别是左右两侧的空白,可以尝试以下几种方法:

    1. 设置ChartArea的Margin属性:可以通过设置ChartArea的Margin属性来调整图表四周的空白区域。在你的代码中,可以尝试添加以下代码来设置Margin:

      chartArea1.Margin = new Thickness(0);
      

      这将把ChartArea的Margin设置为0,从而尽可能减少四周的空白区域。

    2. 设置Axis的IsMarginVisible属性:另一种方法是通过设置Axis的IsMarginVisible属性来控制是否显示刻度的空白区域。在你的代码中,可以尝试添加以下代码来设置IsMarginVisible:

      item.AxisX.IsMarginVisible = false;
      item.AxisY.IsMarginVisible = false;
      

      这将禁用X轴和Y轴的刻度空白区域,使图表左右两侧的空白更小。

    请注意,这些方法可能需要根据你的具体情况进行调整和优化。你可能需要尝试不同的数值来获得最佳的效果。同时,还要考虑到图表中的标签和标题等元素可能需要占用一定的空间,所以不一定能完全去除所有的空白区域。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月31日
  • 创建了问题 10月30日

悬赏问题

  • ¥50 AI大模型精调(百度千帆、飞浆)
  • ¥15 关于#c语言#的问题:我在vscode和codeblocks中编写c语言时出现打不开源文件该怎么办
  • ¥15 非科班怎么跑代码?如何导数据和调参
  • ¥15 福州市的全人群死因监测点死亡原因报表
  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥500 服务器搭建cisco AnyConnect vpn
  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊
  • ¥15 快速扫描算法求解Eikonal方程咨询