파이썬에서 예쁜 그래프와 차트 [닫기]


130

Python 응용 프로그램에서 예쁜 차트와 그래프를 만드는 데 사용할 수있는 라이브러리는 무엇입니까?


22
왜 이것이 폐쇄되었는지 잘 모르겠습니다. 화염 전쟁이나 의견을 초대하지 않으며 몇 가지 명확한 답변이 있습니다. 소수의 Python 플로팅 라이브러리 만 있습니다.
Alex B

7
왜 닫혀 있습니까? 이것은 유용한 질문입니다. 어쨌든, 나의 추천은 pip search plot무엇이 나오는지 보는 것입니다. 이 작업을 통해 pygal을 발견했으며 pygal은 멋지게 보입니다.
Mark E. Haase

또한이 질문은 "차트 파이썬"에 대한 Google 검색의 상단에 나타납니다. 다시 열어야 할 이유가 있습니다.
George Lund

이 질문은 유용합니다. 닫아서는 안됩니다. 다른 옵션으로는 bokehPyX가 있습니다
atomh33ls

답변:


50

저는 CairoPlot을 지원하는 사람이며 여기에 올라온 것을 매우 자랑스럽게 생각합니다. 확실히 matplotlib는 훌륭하지만 CairoPlot이 더 잘 보입니다. 따라서 프레젠테이션 및 웹 사이트의 경우 매우 적합합니다.

오늘은 버전 1.1을 발표했습니다. 관심이 있다면 CairoPlot v1.1 에서 확인하십시오.

편집 : 길고 추운 겨울 후에 CairoPlot이 다시 개발되고 있습니다. GitHub 에서 새 버전을 확인하십시오 .


2
좋아 보인다, 시도하고 싶습니다. Python 2.6 용 Windows 설치 프로그램을 만들 계획입니까?
monkut

동의하면 지원에 아무런 문제가 없습니다. 칭찬 주셔서 감사합니다 : D
로드리고

원하는 경우 stackoverflow.com/questions/359727#520049 를 추가 하여 공감할 수 있습니다.
VonC

1
카이로 플롯은 실제로 많은 양의 데이터에 대해 잘 작동하지 않습니다 (잘못된 경우 수정하십시오). hlabel 또는 vlabel을 요약하기 위해 축에 레이블을 추가 할 수 없습니다. 어쨌든 그래프에 여러 줄을 그리거나 사용 된 색상을 제어 할 수 없습니다. 스크립트를 해킹 할 수 있습니다 ... matplotlib로 이동 ...
Jon

모든 사람들은 Jon의 의견을 무시해야합니다. 축을 라벨링하고 사용하는 색상을 정의하는 것은 매우 쉽습니다 ... 예를 들어 tests.py를 확인하십시오. 어쨌든 멋진 라이브러리 주셔서 감사합니다.
Daniel Magnusson

38

대화식 작업의 경우 Matplotlib 는 성숙한 표준입니다. OO 스타일 API와 Matlab 스타일 대화식 API를 제공합니다.

Chaco 는 Enthought의 사람들이 만든 더 현대적인 플로팅 라이브러리입니다. Enthought의 Kiva 벡터 드로잉 라이브러리를 사용하며 현재 OpenGL을 사용하여 Wx 및 Qt에서만 작동합니다 (Matplotlib에는 Tk, Qt, Wx, Cocoa 및 PDF, EPS, PNG 등과 같은 많은 이미지 유형에 대한 백엔드가 있습니다). Chaco의 주요 장점은 Matplotlib에 상대적인 속도와 대화식 응용 프로그램을위한 Enthought 's Traits API와의 통합입니다.


2
나는 모든 API 중 matplotlib이 실제로 가장 성숙하고 기능이 풍부한 것 같습니다 (그리고 여전히 지원되고 더 개발되고 있음). matplotlib.sourceforge.net/gallery.html 소스 코드에 따라 다양한 예제를 보려면 "gallery"로 이동하십시오 . 그러나 API가 복잡하다고 생각합니다. 메소드 이름이 나를 미치게합니다 :) "복잡하고"단순한 예제에 대해 말하면이 블로그 게시물은 matplotlib로 시작하는 데 많은 도움이 되었습니다. .com / 2010 / 03 / 07 / matplotlib-tutorial
Timur

죄송합니다, matplotlib도 대화식 일뿐만 아니라 플롯 / 차트를 파일로 저장할 수 있다는 점도 추가해야합니다. 예를 들어. PNG, PDF 또는 SVG.
Timur

18

Google Chart API 를 사용하는 pygooglechart 를 사용할 수도 있습니다 . 이것은 항상 사용하고 싶지는 않지만 적은 수의 좋고 간단한 차트를 원하고 항상 온라인에 있고 특히 브라우저에 표시하는 경우 좋은 선택입니다.


7
경고로 Google에서 만들 수있는 차트의 크기는 다소 제한되어 있습니다 (너비 * 높이 <= 300,000 픽셀). 또한 Python API가 아닌 Google Charts는 적당한 크기의 데이터 세트로 질식합니다. 그렇지 않으면 훌륭합니다.
Pat Notz

1
Google 이미지 차트는 계속 사용할 수 있지만 더 이상 사용되지 않습니다. 더 많은 정보로 이동 developers.google.com/chart/image/?hl=nl
ndequeker

15

필요한 출력 형식에 대해서는 언급하지 않았지만 reportlab은 pdf 및 비트 맵 (예 : png) 형식으로 차트를 작성하는 데 능숙합니다.

다음은 png 및 pdf 형식의 막대 차트에 대한 간단한 예입니다.

from reportlab.graphics.shapes import Drawing
from reportlab.graphics.charts.barcharts import VerticalBarChart

d = Drawing(300, 200)

chart = VerticalBarChart()
chart.width = 260
chart.height = 160
chart.x = 20
chart.y = 20
chart.data = [[1,2], [3,4]]
chart.categoryAxis.categoryNames = ['foo', 'bar']
chart.valueAxis.valueMin = 0

d.add(chart)
d.save(fnRoot='test', formats=['png', 'pdf'])

대체 텍스트 http://i40.tinypic.com/2j677tl.jpg

참고 : 이미지는 이미지 호스트에 의해 jpg로 변환되었습니다.


2
예외가 발생하면 "RenderPMError : setFont (Times-Roman)에서 T1 파일을 찾을 수 없습니까?" 위의 코드에서 d.save에 (내가 얻은 것처럼)-해결책은 reportlabs / fornts 디렉토리에서 reportlab.org/ftp/fonts/pfbfer.zip 을 다운로드하고 추출하는 입니다
Shekhar

실제적인 예를 만들기 위해 +1
vmassuchetto

6

2
왜 좋은가요? 사용 했습니까?
Nick

예,보고 / 통계 도구에서 dot_line_plot ()을 사용했습니다. 예쁘고 쉽습니다. Matplotlib 및 CairoPlot에 대한 Rodrigo의 상위 응답을 참조하십시오. 나는 Matplotlib도 사용합니다. 사실, 나는 지금 그것을 사용하고 있습니다.
elmarco

이상한 사람들이 귀하의 답변을 잡지 못했지만 현재 가장 많이 투표 된 답변입니다.
pihentagy

최소한의 예가 있다면 더 많은 투표를 얻을 것이라고 생각합니다. 링크가 끊어지면 답변이 쓸모 없게됩니다.
Martin Thoma

덕분에 블로그에는 이미 많은 정보가 있습니다. 저자 자신은 나중에 더 자세한 내용으로 여기에 대답했습니다.
elmarco

6

나는 pychart를 사용했고 그것이 매우 간단하다고 생각했습니다.

http://home.gna.org/pychart/

그것은 모두 네이티브 파이썬이며 종속성이 많이 없습니다. 나는 matplotlib이 아름답다고 확신하지만 며칠 동안 다운로드하여 설치하고 있으며 하나의 measley 막대 차트를 원합니다!

몇 년 안에 업데이트되지 않은 것 같지만 작동합니다!




4

플로팅에 gnuplot 을 사용하려면 Gnuplot.py 를 고려해야 합니다 . gnuplot에 객체 지향 인터페이스를 제공하고 명령을 gnuplot에 직접 전달할 수도 있습니다. 불행히도 더 이상 적극적으로 개발되지 않습니다.






0

당신은 또한 구글 차트를 고려할 수 있습니다 .

기술적으로 파이썬 API는 아니지만 파이썬에서 사용할 수 있습니다. 코딩이 상당히 빠르며 결과가 좋아 보이는 경향이 있습니다. 온라인으로 플롯을 사용하는 경우 더 나은 솔루션이 될 것입니다.


0

PLplot 은 과학적인 플롯을 만들기위한 크로스 플랫폼 소프트웨어 패키지입니다. 그들은 매우 예쁘지 않지만 (눈길을 끄는), 충분히 좋아 보입니다. 몇 가지 예 (소스 코드와 그림)를 살펴보십시오 .

PLplot 코어 라이브러리를 사용하여 표준 xy 플롯, 세미 로그 플롯, 로그 로그 플롯, 등고선 플롯, 3D 표면 플롯, 메쉬 플롯, 막대 차트 및 파이 차트를 만들 수 있습니다. Windows (2000, XP 및 Vista), Linux, Mac OS X 및 기타 Unices에서 실행됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.