作成日: 2022/10/20 最終更新日: 2022/10/20
文書種別
技術情報
詳細
軸ラベルのテキストの向きはLabelTextDirectionプロパティで指定することができますが、LabelTextDirectionが水平(Horizontal)に設定されている場合には、LabelRotationAngleプロパティに設定した表示角度で軸ラベルを表示することができます。
<実行イメージ>
◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim sheet = FpSpread1.Sheets(0)
' テストデータの設定
sheet.SetClipValue(0, 1, 1, 5, "A企業" & vbTab & "B企業" & vbTab & "C企業" & vbTab & "D企業" & vbTab & "E企業")
sheet.SetClipValue(1, 0, 1, 6, "S1" & vbTab & "50" & vbTab & "25" & vbTab & "85" & vbTab & "30" & vbTab & "26")
sheet.SetClipValue(2, 0, 1, 6, "S2" & vbTab & "92" & vbTab & "14" & vbTab & "15" & vbTab & "24" & vbTab & "65")
sheet.SetClipValue(3, 0, 1, 6, "S3" & vbTab & "65" & vbTab & "26" & vbTab & "70" & vbTab & "60" & vbTab & "43")
sheet.SetClipValue(4, 0, 1, 6, "S4" & vbTab & "24" & vbTab & "80" & vbTab & "26" & vbTab & "11" & vbTab & "27")
' シリーズを作成
Dim series1 As New FarPoint.Win.Chart.BarSeries()
series1.SeriesName = "s1"
series1.SeriesNameDataSource = New FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldSeriesName", "Sheet1!$A$2:$A$2", FarPoint.Win.Spread.Chart.SegmentDataType.Text)
series1.CategoryNames.DataSource = New FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldCategoryName", "Sheet1!$B$1:$F$1", FarPoint.Win.Spread.Chart.SegmentDataType.Text)
series1.Values.DataSource = New FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldValue", "Sheet1!$B$2:$F$2")
Dim series2 As New FarPoint.Win.Chart.BarSeries()
series2.SeriesName = "s2"
series2.SeriesNameDataSource = New FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldSeriesName", "Sheet1!$A$3:$A$3", FarPoint.Win.Spread.Chart.SegmentDataType.Text)
series2.CategoryNames.DataSource = New FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldCategoryName", "Sheet1!$B$1:$F$1", FarPoint.Win.Spread.Chart.SegmentDataType.Text)
series2.Values.DataSource = New FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldValue", "Sheet1!$B$3:$F$3")
Dim series3 As New FarPoint.Win.Chart.BarSeries()
series3.SeriesName = "s3"
series3.SeriesNameDataSource = New FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldSeriesName", "Sheet1!$A$4:$A$4", FarPoint.Win.Spread.Chart.SegmentDataType.Text)
series3.CategoryNames.DataSource = New FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldCategoryName", "Sheet1!$B$1:$F$1", FarPoint.Win.Spread.Chart.SegmentDataType.Text)
series3.Values.DataSource = New FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldValue", "Sheet1!$B$4:$F$4")
Dim series4 As New FarPoint.Win.Chart.BarSeries()
series4.SeriesName = "s4"
series4.SeriesNameDataSource = New FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldSeriesName", "Sheet1!$A$5:$A$5", FarPoint.Win.Spread.Chart.SegmentDataType.Text)
series4.CategoryNames.DataSource = New FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldCategoryName", "Sheet1!$B$1:$F$1", FarPoint.Win.Spread.Chart.SegmentDataType.Text)
series4.Values.DataSource = New FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldValue", "Sheet1!$B$5:$F$5")
Dim barSeries As New FarPoint.Win.Chart.ClusteredBarSeries()
barSeries.Series.AddRange(New FarPoint.Win.Chart.BarSeries() {series1, series2, series3, series4})
' プロット領域を作成
Dim plotArea As New FarPoint.Win.Chart.YPlotArea()
plotArea.Location = New System.Drawing.PointF(0.1F, 0.1F)
plotArea.Size = New System.Drawing.SizeF(0.7F, 0.8F)
plotArea.XAxis.MajorGridVisible = True
plotArea.XAxis.LabelTextDirection = FarPoint.Win.Chart.TextDirection.Horizontal
plotArea.XAxis.LabelRotationAngle = 45
plotArea.Series.AddRange(New FarPoint.Win.Chart.Series() {barSeries})
' 凡例を設定
Dim legend As New FarPoint.Win.Chart.LegendArea()
legend.Location = New System.Drawing.PointF(0.995F, 0.5F)
legend.AlignmentX = 1.0F
legend.AlignmentY = 0.5F
' チャートモデルに各情報を追加
Dim model As New FarPoint.Win.Chart.ChartModel()
model.LegendAreas.Add(legend)
model.PlotAreas.Add(plotArea)
' SPREADチャートにチャートモデルを設定
Dim chart As New FarPoint.Win.Spread.Chart.SpreadChart()
chart.Size = New Size(450, 450)
chart.Location = New Point(0, 120)
chart.Model = model
' シートにSPREADチャートを追加
sheet.Charts.Add(chart)
End Sub
◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
FarPoint.Win.Spread.SheetView sheet = fpSpread1.Sheets[0];
// テストデータの設定
sheet.SetClipValue(0, 1, 1, 5, "A企業\tB企業\tC企業\tD企業\tE企業");
sheet.SetClipValue(1, 0, 1, 6, "S1\t50\t25\t85\t30\t26");
sheet.SetClipValue(2, 0, 1, 6, "S2\t92\t14\t15\t24\t65");
sheet.SetClipValue(3, 0, 1, 6, "S3\t65\t26\t70\t60\t43");
sheet.SetClipValue(4, 0, 1, 6, "S4\t24\t80\t26\t11\t27");
// シリーズを作成
FarPoint.Win.Chart.BarSeries series1 = new FarPoint.Win.Chart.BarSeries();
series1.SeriesName = "s1";
series1.SeriesNameDataSource = new FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldSeriesName", "Sheet1!$A$2:$A$2", FarPoint.Win.Spread.Chart.SegmentDataType.Text);
series1.CategoryNames.DataSource = new FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldCategoryName", "Sheet1!$B$1:$F$1", FarPoint.Win.Spread.Chart.SegmentDataType.Text);
series1.Values.DataSource = new FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldValue", "Sheet1!$B$2:$F$2");
FarPoint.Win.Chart.BarSeries series2 = new FarPoint.Win.Chart.BarSeries();
series2.SeriesName = "s2";
series2.SeriesNameDataSource = new FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldSeriesName", "Sheet1!$A$3:$A$3", FarPoint.Win.Spread.Chart.SegmentDataType.Text);
series2.CategoryNames.DataSource = new FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldCategoryName", "Sheet1!$B$1:$F$1", FarPoint.Win.Spread.Chart.SegmentDataType.Text);
series2.Values.DataSource = new FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldValue", "Sheet1!$B$3:$F$3");
FarPoint.Win.Chart.BarSeries series3 = new FarPoint.Win.Chart.BarSeries();
series3.SeriesName = "s3";
series3.SeriesNameDataSource = new FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldSeriesName", "Sheet1!$A$4:$A$4", FarPoint.Win.Spread.Chart.SegmentDataType.Text);
series3.CategoryNames.DataSource = new FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldCategoryName", "Sheet1!$B$1:$F$1", FarPoint.Win.Spread.Chart.SegmentDataType.Text);
series3.Values.DataSource = new FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldValue", "Sheet1!$B$4:$F$4");
FarPoint.Win.Chart.BarSeries series4 = new FarPoint.Win.Chart.BarSeries();
series4.SeriesName = "s4";
series4.SeriesNameDataSource = new FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldSeriesName", "Sheet1!$A$5:$A$5", FarPoint.Win.Spread.Chart.SegmentDataType.Text);
series4.CategoryNames.DataSource = new FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldCategoryName", "Sheet1!$B$1:$F$1", FarPoint.Win.Spread.Chart.SegmentDataType.Text);
series4.Values.DataSource = new FarPoint.Win.Spread.Chart.SeriesDataField(sheet.FpSpread, "DataFieldValue", "Sheet1!$B$5:$F$5");
FarPoint.Win.Chart.ClusteredBarSeries barSeries = new FarPoint.Win.Chart.ClusteredBarSeries();
barSeries.Series.AddRange(new FarPoint.Win.Chart.BarSeries[] { series1, series2, series3, series4 });
// プロット領域を作成
FarPoint.Win.Chart.YPlotArea plotArea = new FarPoint.Win.Chart.YPlotArea();
plotArea.Location = new System.Drawing.PointF(0.1F, 0.1F);
plotArea.Size = new System.Drawing.SizeF(0.7F, 0.8F);
plotArea.XAxis.MajorGridVisible = true;
plotArea.XAxis.LabelTextDirection = FarPoint.Win.Chart.TextDirection.Horizontal;
plotArea.XAxis.LabelRotationAngle = 45;
plotArea.Series.AddRange(new FarPoint.Win.Chart.Series[] { barSeries });
// 凡例を設定
FarPoint.Win.Chart.LegendArea legend = new FarPoint.Win.Chart.LegendArea();
legend.Location = new System.Drawing.PointF(0.995F, 0.5F);
legend.AlignmentX = 1.0F;
legend.AlignmentY = 0.5F;
// チャートモデルに各情報を追加
FarPoint.Win.Chart.ChartModel model = new FarPoint.Win.Chart.ChartModel();
model.LegendAreas.Add(legend);
model.PlotAreas.Add(plotArea);
// SPREADチャートにチャートモデルを設定
FarPoint.Win.Spread.Chart.SpreadChart chart = new FarPoint.Win.Spread.Chart.SpreadChart();
chart.Size = new Size(450, 450);
chart.Location = new Point(0, 120);
chart.Model = model;
// シートにSPREADチャートを追加
sheet.Charts.Add(chart);
}