실시간으로 Graph를 그리는 프로그램을 만들고 싶습니다.

kyubot의 이미지

현재 DAQ를 통해서 센서의 값이 1000Hz 정도로 들어오고
받아진 값은 while 루프 안에서 처리되고있습니다.

이 값은 다른 컴포넌트에서 읽어서 사용하고 있는데
지금은 그냥 콘솔 상에서만 작동중입니다.

그런데 들어온 값을 시각적으로 표현하고싶은데 어떻게 구현하는게 좋을까요?
일단은 gnuplot 을 호출해서 그리는 방법을 사용해봤는데
gnuplot은 이미 저장된 데이터를 읽는데만 사용되는 것인지
처리속도가 너무 느립니다.

혹시 C++에서 사용할 수 있는 간편한 그래픽 라이브러리가 있을까요..
현재로서는 그냥 막대그래프만 그려져도 괜찮을듯 합니다만...
도움 부탁드립니다.

klyx의 이미지

써본적은 없지만 Qt기반의 Qwt라는 라이브러리가 있습니다.
플롯전용인진 모르겠지만 플롯도 가능하다고 알고 있구요, 한번 알아보세요.

지리즈의 이미지

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

kyubot의 이미지

사실 QT를 한번도 써본적이 없거든요.
지금 하는것도 그냥 에디터에서 프로그래밍 하는거라서
막막하네요.

Kyubot

지리즈의 이미지

framebuffer에 그냥 그려 넣는 것이 가장 쉬을 것 같습니다 ㅎㅎㅎ

http://blog.empas.com/uuzazuk/read.html?a=19763875&c=1637853

무단링크했는데 괜찮을 런지.. 쿠쿠

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

송효진의 이미지

플래시에 이쁜것 많은데, 초당 한번씩 갱신하게 해 주면 어떨까요?

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~

kyubot의 이미지

센서를 모니터링 하는거라서 1초는 너무 느려요. ^^;

Kyubot

Kyubot

wsmrdo의 이미지

1초마다 지나간 데이터 까지 다 같이 보여주시면 될거 같은데요.

-. 실시간 데이터 저장....
-. Viewer는 일정 시간 간격.

느리다면 이런 방법도..

지리즈의 이미지

좋은 데 ㅎㅎㅎ

생각보다 프롯은 구현하기가 쉽습니다.

그냥 gd를 이용하시면 될듯.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

kyubot의 이미지

제가 모르는거 투성이군요....
어디부터 시작해야할지...그냥 구글에서 gd 검색하면 나오나요?

Kyubot

Kyubot

지리즈의 이미지

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

평양선봉의 이미지

어떤 것인지 잘 모르겠으나,
RRDtool 을 한번 살펴보시기 바랍니다.
저는 시스템 모니터링을 위한 어떤 코드(C++)에서
RRDtool을 이용하여, png 타입의 그래프를 그리고, 웹 페이지에서 일정 시간(10여초) 간격으로 reload 하는 것을 보고 수정을 조금 하였는데..
깔끔한걸로 치면 플래시는 따라갈 수 없으나, 제 기준에(?) 만족할 만한 결과물은 만들어 지는것 같습니다.

----
웹페이지 : http://bzpalm.net/

kalstein의 이미지

wxWidget 에도...간단한 plot 지원은 있던데...저도 안써봐서 잘은 모르겠네요 ^^;;


------------------------------------------
Let`s Smart Move!!
http://kalstein.tistory.com/

suapapa의 이미지

wxPython으로 wxPlot을 써 봤는데 -wx란게 원래 빠른 놈은 아닌지라- 느리다는 느낌이 있었고,
더욱이 1KHz를 실시간으로 보여주긴 힘들 것 같네요.

wx뿐만 아니라GUI에서 이런 빈도의 데이타를 실시간으로 보여 주려면 모아서 모아서 가끔씩 -1초마다?- 보여주는게 해결책일 것 같습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.