! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

차트 y축 추가 > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 차트 y축 추가

페이지 정보

작성자 진조 작성일 2024-03-27 15:07 조회 28회 댓글 1건
제품 버전 : 17
컨트롤 이름 : 차트

본문

안녕하세요 


시트를 통해 소스로 차트를 만드는 중입니다.

막대그래프와 선 그래프 둘을 이용하고 싶은데 


막대는 막대그래프는 왼쪽 y축   선 그래프는 오른똑에 y축을 추가하여 

각각 적용 하고 싶습니다.


각 series 를 왼쪽 y 오른y로 따로 설정하는 방법문의드립니다.


또한 현재 소스에서 SeriesName이 보이지 않는데 

어떻게 하면 보여질가요


FarPoint.Win.Spread.Chart.SpreadChart chart;


 chart = fSr.Sheets[nDispMode].AddChart(0, 0, typeof(FarPoint.Win.Chart.BarSeries), 400, 400, 200, 100, FarPoint.Win.Chart.ChartViewType.View2D, true);

 chart.Locked = true;


 chart.Location = new Point(0, 0);

 chart.Size = new Size(fSr.Width - 10, fSr.Height - 10);


 FarPoint.Win.Chart.BarSeries series0 = new FarPoint.Win.Chart.BarSeries();

 //RadarPointSeries series0 = new RadarPointSeries();

 series0.SeriesName = "Series 0";



 for (int i = 0; i < dJunCnt.Rows.Count; i++)

 {

     series0.Values.Add(데이터);

     series0.CategoryNames.Add(이름);

 }


 series0.LabelVisible = true;

 series0.LabelNumberFormat = "#,##0";


 FarPoint.Win.Chart.LineSeries series1 = new FarPoint.Win.Chart.LineSeries();

 series1.SeriesName = "Series 1";

 series1.PointMarker = new FarPoint.Win.Chart.BuiltinMarker(FarPoint.Win.Chart.MarkerShape.Circle, 7.0f);


 for (int i = 0; i < dJunCnt.Rows.Count; i++)

 {

     series1.Values.Add((x.x);

 }

 FarPoint.Win.Chart.YPlotArea plotArea = new FarPoint.Win.Chart.YPlotArea();


 plotArea.Location = new PointF(0.2f, 0.2f);

 plotArea.Size = new SizeF(0.6f, 0.6f);

 plotArea.Series.Add(series0);

 plotArea.Series.Add(series1);

 FarPoint.Win.Chart.LabelArea labelArea = new FarPoint.Win.Chart.LabelArea();

 labelArea.Location = new PointF(0.5f, 0.02f);

 labelArea.AlignmentX = 0.5f;

 labelArea.AlignmentY = 0.0f;

 labelArea.Text = "Pareto Chart";

 FarPoint.Win.Chart.ChartModel model = new FarPoint.Win.Chart.ChartModel();

 model.LabelAreas.Add(labelArea);

 model.PlotAreas.Add(plotArea);

 chart.Model = model;



이런식으로 구현 하고 싶습니다.

선 그래프는 n개



  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

MESCIUS써니님의 댓글

MESCIUS써니 작성일

진조 님, 안녕하세요.

문의하신 사항에 대하여 확인 중 입니다.
관련 내용이 업데이트 되는 대로 안내 드리겠습니다.

감사합니다.
메시어스 드림

1 답변

WinForms윈폼 Re: 차트 y축 추가

추천0 이 글을 추천하셨습니다 비추천0

페이지 정보

작성자 MESCIUS써니 작성일 2024-03-29 13:47 댓글 0건

본문

진조 님, 안녕하세요.

메시어스입니다.


먼저, 참고이미지 및 적용하신 자세한 소스 코드와 함께 문의주심에 감사드리며,

문의하신 내용에 대하여 다음과 같이 안내 드립니다.


1. 하나의 차트에 다중 Y축을 생성하는 방법 

공유해주신 소스 코드에 아래 샘플 코드를 추가하여, 차트 우측에 라인 그래프에 대한 Y축을 추가하실 수 있습니다. 

//축을 추가합니다.
FarPoint.Win.Chart.ValueAxisCollection collection = plotArea.YAxes;
FarPoint.Win.Chart.ValueAxis valueAxis = new FarPoint.Win.Chart.ValueAxis();
valueAxis.Location = FarPoint.Win.Chart.AxisLocation.Far; // 플롯 영역의 먼 쪽에 축을 표시합니다.
valueAxis.AxisId = collection.Count;
collection.Add(valueAxis);

//계열과 축을 매핑합니다.
series1.YAxisId = valueAxis.AxisId;

-AxisLocation 도움말 


2. 범례를 표시하는 방법 

SeriesName을 표시하고 싶다는 말씀은 차트에 범례를 표시하고 싶으시다는 뜻으로 이해가 됩니다. 차트에 범례를 표시하기 위해서는 차트에 LegendArea를 추가해주시기 바랍니다. 

공유해주신 코드에서 아래 샘플 코드와 같이 추가하시면 범례를 표시할 수 있습니다. 

FarPoint.Win.Chart.LegendArea legendArea = new FarPoint.Win.Chart.LegendArea();
legendArea.LegendPos = FarPoint.Win.Chart.LegendPos.Bottom;
legendArea.Vertical = false;

FarPoint.Win.Chart.ChartModel model = new FarPoint.Win.Chart.ChartModel(); // 기존 코드
model.LabelAreas.Add(labelArea); // 기존 코드
model.PlotAreas.Add(plotArea); // 기존 코드
model.LegendAreas.Add(legendArea);
chart.Model = model; // 기존 코드

- 차트 UI 요소 

- LegendArea 클래스의 속성 


감사합니다.

메시어스 드림

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.