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


130

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


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

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

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

이 질문은 유용합니다. 닫아서는 안됩니다. 다른 옵션으로는 bokeh 와 PyX가 있습니다
— 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.