zoukankan      html  css  js  c++  java
  • 如何修改C#Chart控制图区域百分比

    如果我有一个包含2个chartAreas的图表控件,默认情况下图表控件会将chartAreas放在彼此的顶部,使得每个区域占据图表控件可用大小的50%.有没有办法改变chartAreas的百分比,以便我可以说,顶部图表占据该区域的75%,而底部图表占25%?

    所以,我最终找到了它,但我不认为它有很好的记录.每个chartArea都有属性 ChartArea.Position.这个属性类型为 ElementPosition,包含4个与此问题相关的属性.

    高度:获取或设置图表元素的高度.
    宽度:获取或设置图表元素的宽度.
    X:获取或设置适用图表元素左上角的相对X坐标.
    Y:获取或设置适用图表元素左上角的相对Y坐标.

    深挖时,高度和宽度属性也以相对坐标表示,这样您只能输入0 – 100.

    基本上,你必须改变每个高度,每个Y移动它们.初始创建后,它不会自动调整其他数字.

    例如,如果我只是将chartArea [1]的高度更改为更小的值,那么它仍然会固定在之前的位置,这是有道理的,在它下面留下了很多空白区域.

    如果我然后增加chartArea [0]的高度,它可能会覆盖我们刚刚调整大小的chartArea [1].那么我必须设置chartArea [1]的Y来向下移动它,这样它就不会被覆盖,并且空白区域消失了.

    所以,为了得到类似我在问题中提出的问题,我将其设置为:

    chart1.ChartAreas[0].Position.Y = 10;
    chart1.ChartAreas[0].Position.Height = 60;
    chart1.ChartAreas[1].Position.Y = 70;
    chart1.ChartAreas[1].Position.Height = 20;

    为了使这个解释更加清楚,我将引用Chart控件,这些chartAreas作为“父”.

    这些是百分比,但对于此示例,我们假设父级的大小为100像素.

    这将第一个chartArea开始显示为10 px,并使其高约60px.然后它开始以70px显示第二个chartArea,并使其大约20px高.
    如果此图表高200像素,那么比例将是相同的,但实际像素将是两倍(因此将第一个图表区域设置为60将使其高120像素).

    我在我的真实程序中更多地填充了这个,因为它有标题覆盖轴标签,但我觉得这些数字有助于更好地解释它.

  • 相关阅读:
    5.4.3 果园里的树
    5.3.2 字母重排
    5.3.1 6174问题
    Codeforces Round #253 (Div. 2), problem: (B)【字符串匹配】
    POJ1054 枚举【STL__binary_search()_的应用】
    432B
    0x3f3f3f3f...编程中无穷大常量的设置技巧
    2014年百度之星程序设计大赛 资格赛第一题 (longlong)
    Tarjan
    Dijkstra、Dij + heap、Floyd、SPFA、 SPFA + SLF Template
  • 原文地址:https://www.cnblogs.com/xubao/p/14914565.html
Copyright © 2011-2022 走看看