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

라인 그래프의 모서리 형태를 좀 굴곡지게 표현하는 라인형태의 그래프가 있을까요? > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 라인 그래프의 모서리 형태를 좀 굴곡지게 표현하는 라인형태의 그래프가 있을까요?

페이지 정보

작성자 iroon 작성일 2023-11-26 17:49 조회 285회 댓글 0건
제품 버전 : 16
컨트롤 이름 : fpChart

본문

c# .NET 에서는 라인형태의 각진 데이터 모서리를 둥글게 깎아 보여주는 Spline

라는 옵션이 있습니다.


series.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.line;

에서 


series.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Spline;

이렇게요


Spread.NET에서도 그런 종류의 라인선택이 있을것 같은데 찾아봐도 없네요.


혹시 가능할 까요?

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

댓글목록

등록된 댓글이 없습니다.

4 답변

WinForms윈폼 Re: 라인 그래프의 모서리 형태를 좀 굴곡지게 표현하는 라인형태의 그래프가 있을까요?

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

페이지 정보

작성자 MESCIUS써니 작성일 2023-11-28 19:05 댓글 0건

본문

iroon 님, 안녕하세요.

메시어스입니다.


꺾은선 차트를 사용하시는 경우, LineSeries 클래스의 SmoothedLine 속성을 true로 설정하여 부드러운 곡선을 표현할 수 있습니다.

아래 샘플 코드의 두번째 줄에 SmoothedLine 속성을 true/false로 설정했을 때 달라지는 모양을 참고 부탁드립니다.

FarPoint.Win.Chart.LineSeries series1 = new FarPoint.Win.Chart.LineSeries();
series1.SmoothedLine = false;
series1.Values.Add(2);
series1.Values.Add(5);
series1.Values.Add(3);
series1.Values.Add(7);
series1.Values.Add(2);
series1.Values.Add(5);

FarPoint.Win.Chart.YPlotArea plotArea = new FarPoint.Win.Chart.YPlotArea();
plotArea.Location = new System.Drawing.PointF(0.2f, 0.2f);
plotArea.Size = new System.Drawing.SizeF(0.6f, 0.6f);
plotArea.Series.Add(series1);

FarPoint.Win.Chart.ChartModel model = new FarPoint.Win.Chart.ChartModel();
model.PlotAreas.Add(plotArea);

FarPoint.Win.Spread.Chart.SpreadChart chart = new FarPoint.Win.Spread.Chart.SpreadChart();
chart.Size = new Size(400, 200);
chart.Location = new Point(100, 100);
chart.Model = model;
fpSpread1.Sheets[0].Charts.Add(chart);


Spread Designer를 사용하여 차트를 그리실 경우, 

 1. 차트의 라인을 우클릭합니다.

 2. 컨텍스트 메뉴에서 계열선 서식을 선택합니다.

 3. "곡선화된 선" 체크박스를 체크합니다.

그러면, 선이 부드럽게 표현되는 것을 확인하실 수 있습니다.


3b1f0ded7d658cbc7f16b3a57ceb4720_1701165807_5828.png
3b1f0ded7d658cbc7f16b3a57ceb4720_1701165807_6498.png
3b1f0ded7d658cbc7f16b3a57ceb4720_1701165807_7164.png
 

감사합니다.

메시어스 드림

댓글목록

등록된 댓글이 없습니다.

WinForms윈폼 Re: 라인 그래프의 모서리 형태를 좀 굴곡지게 표현하는 라인형태의 그래프가 있을까요?

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

페이지 정보

작성자 iroon 작성일 2023-11-30 13:19 댓글 0건

본문

첨부파일

소스입니다.


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


            series1.SmoothedLine = true;


            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.8f, 0.8f);

            plotArea.Series.Add(series1);


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

            model.PlotAreas.Add(plotArea);


            FarPoint.Win.Spread.Chart.SpreadChart chart = new FarPoint.Win.Spread.Chart.SpreadChart();

            chart.Size = new Size(800, 400);

            chart.Location = new Point(20, 430);

            chart.Model = model;

            

            //FarPoint.Win.Spread.Model.CellRange range = new FarPoint.Win.Spread.Model.CellRange(0, 0, 19, 52);

            

            fpSpread1.Sheets[0].Charts.Add(chart);



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

            label.Text = "차트의 제목";                 // 차트 제목 설정 

            label.AlignmentX = 0.5F;                    // 차트 제목 가운데 정렬

            label.Location = new PointF(0.5F, 0.02F);   // 차트 제목 위치 설정

            chart.Model.LabelAreas.Add(label);          // LabelArea 객체 추가


01. 시트에 레인지를 표시하는 방법을 가르쳐 주세요.

02. 시트에 레인지가 시트의 처음과 끝을 표시했지만

     그래프에서는 X축과 Y축이 0 인 부분 부터 시작하고 싶습니다.

     (.NET 그래프에서 AxisY.Minimum, Maximum 등의 표시입니다.)

03. x, y 축의 interval 값을 변동하고 싶습니다.

     (.NET 그래프에서 AxisY.Interval, AxisX.Interval  표시입니다.)


부탁 드립니다.

댓글목록

등록된 댓글이 없습니다.

WinForms윈폼 Re: 라인 그래프의 모서리 형태를 좀 굴곡지게 표현하는 라인형태의 그래프가 있을까요?

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

페이지 정보

작성자 MESCIUS써니 작성일 2023-12-01 10:11 댓글 1건

본문

iroon 님, 안녕하세요.

메시어스입니다.


정확한 답변을 위해, 한 가지 질문 드립니다.


시트에 "레인지"를 표시한다는 것이, 아래 그림과 같이 셀 영역 [0, 0, 19, 52]에 대한 라인 차트를 그린다는 말씀이실까요?


ab69261dcc5c7ba6ff60d5a56787765d_1701393081_1858.png
 

감사합니다.

메시어스 드림

댓글목록

iroon님의 댓글

iroon 작성일

당연합니다
예제 보여주신 것에는 셀을 지정하는 부분이 없어서요

WinForms윈폼 Re: 라인 그래프의 모서리 형태를 좀 굴곡지게 표현하는 라인형태의 그래프가 있을까요?

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

페이지 정보

작성자 MESCIUS써니 작성일 2023-12-04 15:27 댓글 1건

본문

iroon 님, 안녕하세요.

메시어스입니다.


01. 시트에 레인지를 표시하는 방법을 가르쳐 주세요.


SheetView.AddChart 메서드를 사용하여 셀 범위에 대한 차트를 생성 및 추가할 수 있습니다.


02. 시트에 레인지가 시트의 처음과 끝을 표시했지만

      그래프에서는 X축과 Y축이 0 인 부분 부터 시작하고 싶습니다.

     (.NET 그래프에서 AxisY.Minimum, Maximum 등의 표시입니다.)


ValueAxis의 AutoMinimum, AutoMaximum을 false로 설정한 뒤, Minimun, Maximum 값을 원하는 값으로 설정하실 수 있습니다.


03. x, y 축의 interval 값을 변동하고 싶습니다.

     (.NET 그래프에서 AxisY.Interval, AxisX.Interval  표시입니다.)


ValueAxis의 AutoMajorUnit을 false로 설정한 뒤, MajorUnit 값을 원하는 값으로 설정하실 수 있습니다. 


아래 샘플 코드를 개발 시 참고하여주시기 바랍니다.

// 특정 셀 범위에 대한 차트를 생성합니다. 이때 AddChart 메서드를 사용합니다.
FarPoint.Win.Spread.Model.CellRange chartDataRange = new FarPoint.Win.Spread.Model.CellRange(0, 0, 19, 50); //A1:AZ19
fpSpread1.Sheets[0].AddChart(chartDataRange, typeof(FarPoint.Win.Chart.XYLineSeries), 800, 400, 20, 430);
FarPoint.Win.Spread.Chart.SpreadChart chart = fpSpread1.Sheets[0].Charts[0];

// 차트의 범례 위치를 설정합니다.
chart.Model.LegendAreas[0].LegendPos = FarPoint.Win.Chart.LegendPos.Right;
chart.Model.LegendAreas[0].Vertical = true;

// 계열선에 대한 설정을 적용합니다.
FarPoint.Win.Chart.NoMarker noMarker = new FarPoint.Win.Chart.NoMarker();
foreach (FarPoint.Win.Chart.XYLineSeries lineSeries in chart.Model.PlotAreas[0].Series)
{
    // 곡선화 된 선을 표시합니다.
    lineSeries.SmoothedLine = true;
    // 표식을 사용하지 않습니다.
    lineSeries.PointMarker = noMarker;
}
// PlotArea에 대한 설정을 적용합니다.
FarPoint.Win.Chart.XYPlotArea xyPlotArea = (FarPoint.Win.Chart.XYPlotArea)chart.Model.PlotAreas[0];
            
// Y축의 최소값, 최대값, 간격을 설정합니다.
xyPlotArea.YAxes[0].AutoMinimum = false;
xyPlotArea.YAxes[0].Minimum = 0;
xyPlotArea.YAxes[0].AutoMaximum = false;
xyPlotArea.YAxes[0].Maximum = 600;
xyPlotArea.YAxes[0].AutoMajorUnit = false;
xyPlotArea.YAxes[0].MajorUnit = 200;
// X축의 최소값, 최대값, 간격을 설정합니다.
xyPlotArea.XAxes[0].AutoMinimum = false;
xyPlotArea.XAxes[0].Minimum = 0;
xyPlotArea.XAxes[0].AutoMaximum = false;
xyPlotArea.XAxes[0].Maximum = 400;
xyPlotArea.XAxes[0].AutoMajorUnit = false;
xyPlotArea.XAxes[0].MajorUnit = 200;

// 차트 제목 설정을 적용합니다.
FarPoint.Win.Chart.LabelArea label = new FarPoint.Win.Chart.LabelArea();
label.Text = "Chart title";                 // 차트 제목 설정 
label.AlignmentX = 0.5F;                    // 차트 제목 가운데 정렬
label.Location = new PointF(0.5F, 0.02F);   // 차트 제목 위치 설정
chart.Model.LabelAreas.Add(label);


감사합니다.

메시어스 드림

댓글목록

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