일부 시스템 성능 데이터를 측정하여 데이터베이스에 저장합니다. 이러한 데이터 포인트에서 시간 경과에 따라 선 그래프를 그립니다. 본질적으로 이러한 데이터 포인트는 약간 시끄 럽습니다. 모든 단일 지점은 지역 평균값에서 적어도 약간 벗어납니다. 선 그래프를 한 점에서 다음 점으로 직선으로 그릴 때 톱니 모양의 그래프가 생성됩니다. 한 픽셀 당 10 개 이상의 데이터 포인트와 같은 큰 시간 규모에서이 노이즈는 작은 스케일처럼 1px 대신 20px라는 넓은 들쭉날쭉 한 라인 영역으로 압축됩니다.어떻게 평활화/둥근 곡선 그래프를 그릴 수 있습니까? (C#)
나는 라인 다듬기, 앤티 앨리어싱, 단순화 및이 모든 것들에 대해 읽었습니다. 그러나 내가 찾은 모든 것은 다른 것에 관한 것 같습니다.
앤티 앨리어싱이 필요하지 않습니다. .NET에서 화면에 선을 그릴 때 이미 .NET에서 해당 작업을 수행합니다.
단순화를 원하지 않습니다. 최소한 극단적 인 가치가 남아 있어야합니다.
스플라인 곡선의 방향으로가는 것 같지만 설명 된 것이 내가 원하는 것인지를 평가하기 위해 예제 이미지를 많이 찾을 수 없습니다. 나는 Google 도서에서 매우 과학적인 책을 찾았는데, 반 페이지 길이의 수식들로 가득 찼습니다. 지금은 독서가 마음에 들지 않았습니다 ...
예를 들어, Linux/Gnome의 시스템 모니터를 살펴보십시오. 신청. 필자는 최근 CPU/메모리/네트워크 사용량을 매끄러운 선으로 그립니다. 이것은 약간 단순화 될 수 있지만, 시도해보고 그것을 조정할 수 있는지 확인합니다.
나는 C# 코드를 선호하지만 다른 언어로 된 코드 나 코드는 외부 참조가없는 C#으로 포팅 할 수 있으면 좋습니다.
Windows (및 .net)에 성능 카운터 시스템이 내장되어 있습니다. 나는 단지 당신이 바퀴를 재발 명하지 않고 있는지 확인하고 싶다. –
내 데이터는 Linux 서버에서 수집되며 다른 코드가있는 수많은 소스로 구성되어 있습니다. 데이터는 데스크탑 (대화식) 또는 웹 응용 프로그램에서 사용하기 위해 시각화되거나 Mono 런타임에서 전자 메일로보고 될 수 있습니다. 개발은 Windows에서 Visual Studio를 사용하여 수행됩니다. – ygoe