1

これは信じられないほど局所的な問題ですが、私はこれにしばらく時間を費やしましたが、フォーマットを機能させることができません。基本的に私がやりたいことは、値の縦棒グラフを表示することですが、ベルとホイッスルはありません (つまり、ラベルもタイトルも凡例も何もありません!) そして、私はそれを次のように見せたいです: 希望の画像

しかし、代わりに次のようになります。

実際の画像

軸が右に伸びていて、それを消す方法がわかりません。これが私のコードです:

charts[i].Series.Clear();
charts[i].Series.Add("Block " + i + 1);
charts[i].Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
charts[i].Series[0].Points.Add(liveData[i]);
charts[i].ChartAreas[0].AxisY.Maximum = 4;
charts[i].ChartAreas[0].AxisY.Minimum = 0;
charts[i].ChartAreas[0].AxisX.Maximum = 1;
charts[i].ChartAreas[0].AxisX.Minimum = 1;
charts[i].ChartAreas[0].AxisX.MajorGrid.LineWidth = 0;
charts[i].ChartAreas[0].AxisY.MajorGrid.LineWidth = 0;
charts[i].ChartAreas[0].AxisX.LabelStyle.Enabled = false;
charts[i].ChartAreas[0].AxisY.LabelStyle.Enabled = false;
charts[i].ChartAreas[0].AxisY.LineWidth = 0;
charts[i].ChartAreas[0].AxisY.MajorTickMark.Enabled = false;
charts[i].ChartAreas[0].AxisX.MajorTickMark.Enabled = false;
charts[i].Series[0].IsVisibleInLegend = false;

今、私はこれがmin/max事だと推測していますが、私の人生では、それを機能させることはできません. 誰かが私の間違いを見ることができますか?または、チャート以外の別の方法を提案しますか?

また、下に表示されている「ブロック 1 (V)」ラベルはチャートによって生成されたものではなく、textboxたまたまスクリーンショットに切り取られたラベルであることに注意してください。

ありがとう!

4

1 に答える 1

1

データの x 値は 1 です。デフォルトでは、バーは 1 マークを中心にしています。制限をシフトすると、実際には半分しか表示されません。行うべきことは 2 つあります。バーの幅を正確に指定し、それに応じて x 軸を制限します。

charts[i].Series[0].CustomProperties = "PointWidth = 1"; // One bar takes a width of 1 unit on the x-axis
charts[i].ChartAreas[0].AxisX.Minimum = 0.5; // change!
charts[i].ChartAreas[0].AxisX.Maximum = 1.5; // change!
于 2013-03-23T19:47:40.807 に答える