【问题标题】:Zedgraph horizontal line across the bar chart needed需要跨越条形图的 Zedgraph 水平线
【发布时间】:2013-01-25 03:27:41
【问题描述】:

我正在使用 ZedGraph

http://www.codeproject.com/Articles/5431/A-flexible-charting-library-for-NET?fid=26087&fr=11#xx0xx

我想绘制垂直条,然后在整个绘图区域上画一条水平线。

它似乎只到了酒吧的尽头!

我尝试添加一些x轴和y轴的值来达到这个效果,但是不起作用。

有可能吗?

这是我的代码:

    private void CreateGraph( ZedGraphControl zgc )
    {
        // get a reference to the GraphPane
        GraphPane myPane = zg1.GraphPane;

        // Set the Titles
        myPane.Title.Text = "My Test Bar Graph";
        myPane.XAxis.Title.Text = "Label";
        myPane.YAxis.Title.Text = "My Y Axis";

        // Make up some random data points
        string[] labels = { "Panther", "Lion" };
        double[] y = { 100, 115 };
        double[] x = {0, 900 };
        double[] y4 = { 90, 90};

        // Generate a black line with "Curve 4" in the legend
        LineItem myCurve = myPane.AddCurve("Curve 4", x, y4, Color.Black, SymbolType.Circle);

        // Generate a red bar with "Curve 1" in the legend
       BarItem myBar = myPane.AddBar("Curve 1", null, y, Color.Red);
       myBar.Bar.Fill = new Fill(Color.Red, Color.White, Color.Red);

        // Fix up the curve attributes a little
        myCurve.Symbol.Size = 8.0F;
        myCurve.Symbol.Fill = new Fill(Color.White);
        myCurve.Line.Width = 2.0F;

        // Fix up the curve attributes a little
        myCurve.Symbol.Size = 8.0F;
        myCurve.Symbol.Fill = new Fill(Color.White);
        myCurve.Line.Width = 2.0F;

        // Draw the X tics between the labels instead of 
        // at the labels
        myPane.XAxis.MajorTic.IsBetweenLabels = true;

        // Set the XAxis labels
        myPane.XAxis.Scale.TextLabels = labels;
        // Set the XAxis to Text type
        myPane.XAxis.Type = AxisType.Text;

        // Fill the Axis and Pane backgrounds
        myPane.Chart.Fill = new Fill(Color.White, Color.FromArgb(255, 255, 166), 90F);
        myPane.Fill = new Fill(Color.FromArgb(250, 250, 255));

        // Tell ZedGraph to refigure the
        // axes since the data have changed
        zg1.AxisChange();
    }

【问题讨论】:

    标签: c# graph bar-chart zedgraph


    【解决方案1】:

    我发现你不能只在条形图上放一条水平线,因为这种情况下的 x 轴类型不是数字/离散的 - 它是一个文本值。

    如果您想在条形图上放置水平线,您必须使用组合图: http://zedgraph.dariowiz.com/indexd6f1.html?title=Combo_Chart_Demo

    这样,x 轴是数字的,因此您可以创建所需的任何线条以及条形。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多