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

차트 관련 질문입니다 > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 차트 관련 질문입니다

페이지 정보

작성자 엘엠소프트 작성일 2023-05-11 11:25 조회 631회 댓글 1건
제품 버전 : 16.0.20221.1

본문

아래와 같이 차트를 표현하고 싶은데 방법이 있을까요?



 

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

댓글목록

GCK써니님의 댓글

GCK써니 작성일

엘엠소프트 님, 안녕하세요.
그레이프시티입니다.

문의하신 사항에 대하여 확인 중에 있습니다.
관련 내용이 업데이트 되는 즉시 안내드릴 수 있도록 하겠습니다.
답변이 지연되어 죄송합니다.

감사합니다.
그레이프시티 드림

1 답변

WinForms윈폼 Re: 차트 관련 질문입니다

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

페이지 정보

작성자 GCK써니 작성일 2023-05-16 16:55 댓글 1건

본문

엘엠소프트 님, 안녕하세요.

그레이프시티입니다.


먼저, 답변이 지연되어 죄송합니다.


Waterfall 차트에서 중단하려는 지점에 대한 소계 설정을 함으로써, 원하시는 것과 같은 차트를 표현할 수 있을 것으로 보여집니다. 예를 들어, 30일 간격으로 데이터를 구분하여 보여주기 위해서, 30n+1 번째 막대(Bar)들을 합계로 설정합니다.


예시로 Book1.xlsx 파일을 첨부합니다.

아래와 같이 합계로 설정한 막대(Bar)를 오른쪽 클릭한 후, 데이터 요소 서식에서 "합계로 설정" 체크박스를 체크하여, 원하시는 형태로 표현하실 수 있습니다.

aa01fb0d9f5f9272643267dd60395d4b_1684223087_8105.png
 

코드를 사용하여 차트를 만들 때에는 "WaterfallSeries.SetTotal" 함수를 사용하여 "합계로 설정"을 적용하실 수 있습니다.


간략한 샘플 코드를 전달드리오니, 참고 부탁드립니다.

private void Form1_Load(object sender, EventArgs e)
{
    fpSpread1.Dock = DockStyle.Fill;

    // Waterfall 계열 설정
    FarPoint.Win.Chart.WaterfallSeries wseries = new FarPoint.Win.Chart.WaterfallSeries();
    wseries.SeriesName = "Series0";

    // 샘플 데이터 생성
    Random random = new Random();
    for (int i = 0; i < 21; i++)
    {
        fpSpread1.ActiveSheet.Cells[i, 0].Value = random.Next(1, 5);
        wseries.Values.Add(Convert.ToDouble(fpSpread1.ActiveSheet.Cells[i, 0].Value));
    }

    // 특정 간격마다 SetTotal 속성을 true로 설정
    wseries.SetTotal(0, true);
    wseries.SetTotal(7, true);
    wseries.SetTotal(14, true);

    // Bar간 간격 0으로 설정
    wseries.GapWidth = 0;

    //연결선 표시하지 않도록 설정
    wseries.ShowConnectorLine = false;
            
    // Bar 위에 값 표시하지 않도록 설정
    wseries.LabelVisible = false;

    // Bar 색상을 DeepSkyBlue 설정
    wseries.Fill = new FarPoint.Win.Chart.SolidFill(Color.DeepSkyBlue);

    // Y 플롯 유형의 차트 생성 및 초기화
    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에 계열 추가
plotArea.Series.Add(wseries); // X축 주눈금을 표시하지 않도록 설정 plotArea.XAxis.MajorTickVisible = false; // 특정 간격으로 X축 레이블 표시 plotArea.XAxis.AutoLabelUnit = false; plotArea.XAxis.LabelUnit = 7; // X축 주눈금선을 특정 간격으로 표시하도록 설정. plotArea.XAxis.MajorGridVisible = true; plotArea.XAxis.MajorGridLine = new FarPoint.Win.Chart.SolidLine(Color.Gray); plotArea.XAxis.AutoMajorUnit = false; plotArea.XAxis.MajorUnit = 7; 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.Model = model; chart.Size = new Size(800, 400); chart.Location = new Point(100, 100); fpSpread1.Sheets[0].Charts.Add(chart); }

- Spread.NET WinForms V16 | Waterfall Chart 도움말 문서


이 외에 추가적으로 궁금하신 설정이 있는 경우, 댓글로 남겨주시면 확인 후 안내드릴 수 있도록 하겠습니다.


감사합니다.

그레이프시티 드림


댓글목록

엘엠소프트님의 댓글

엘엠소프트 작성일

작성해주신 샘플코드로 작업해보고 있어요.. 
궁금한게 생기면 댓글 남길께요

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