2016-08-24 5 views
2

파이썬/django로 웹 페이지의 간단한 그래프를 만들고 싶습니다만, 어떤 라이브러리 (사용법)를 사용해야할지 모르겠습니다.파이썬에서 간단한 그래프를 만드는 방법 2.7

나는 챠트를 원하지 않는다. 나는 주전자와 같은 기원으로부터 이미지를 창조하는 방법을 찾는다.

각 그래프는 다음 번에 값이 다를 때마다 한 번만 생성되어 사용됩니다.

나는 단순히 모든 사각형, 선이나 텍스트의 위치를 ​​계산할 수있다, 그래서 < 같은 내가 IMG/PNG로 반환 단지에서 pictre을 만들 수있는 경량 일 (정도) 마임 스타일 싶습니다 img src = "http : //my.web.www/my/page/graph"> 표시 할 매개 변수는 세션과 데이터베이스별로 구분됩니다.

내가 사전에 모든 크기를 계산할 수 있습니다, 그래서 당신이 날 직접 할 수

img=Image(PNG,598,89) # style, x, y 
img.add_text('1.3.', 10,10) 
img.add_rectagle(20,10, 70,20, CYAN, BLACK) 
.... 
return img.render() 

같은 간단한 일을하고 싶은, 그것을 어떻게 할까?

덕분에 사전에


navit

graph

그것을 못을 박았다 :

# from django.utils.httpwrappers import HttpResponse 
from PIL import Image, ImageDraw 
import os,sys 
im = Image.new('RGB',(598,89),'white') 

draw = ImageDraw.Draw(im) 
draw.rectangle((0,0,im.size[0]-1,im.size[1]-1), outline='blue') 
draw.rectangle((25,10,590,20), fill='white', outline='black') 
draw.rectangle((25,10,70,20), fill='rgb(255,0,0)', outline='black') 
draw.rectangle((70,10,90,20), fill='green', outline='black') 
draw.text((1,10),'1.3.',fill='black') 
del draw 

# write to stdout 
im.save(sys.stdout, "PNG") 

# draw.flush() 
# response = HttpResponse(mimetype="image/png") 
# image.save(response, "PNG") 
# return response 

enter image description here

+0

정적 차트 (이미지와 같은) 또는 동적 차트가 필요합니까? 어느 쪽이든 이것은 중복 된 질문입니다. 참조 : http://stackoverflow.com/questions/8840255/djhttp://stackoverflow.com/questions/7034/graph-visualization-library-in-javascriptango-and-interactive-graph-network-visualization 및 http : // stackoverflow.com/questions/7034/graph-visualization-library-in-javascript – eguaio

+0

파이썬에서 이미지를 생성하고 싶습니다 (그리고 브라우저를 통해 http를 통해 다른 "일반 이미지"로 표시됩니다) – gilhad

+0

내 poblem은 다음과 같습니다. 파이썬에서 일회성 이미지를 만드는 법. 나는 자바 스크립트/jquery/클라이언트 측의 다른 것을 사용하고 싶지 않다. – gilhad

답변

2

당신은 밖으로 베개를 확인해야합니다. 다음은 작동 방식의 예입니다.

from PIL import Image, ImageDraw 

im = Image.open("lena.pgm") 

draw = ImageDraw.Draw(im) 
draw.line((0, 0) + im.size, fill=128) 
draw.line((0, im.size[1], im.size[0], 0), fill=128) 
del draw 

# write to stdout 
im.save(sys.stdout, "PNG") 

필로에서 클라이언트로 파일을 보내는 것은 간단해야합니다. 질문이 있으면 알려주세요.

편집 : 찾았습니다. 시작하려면 these 예제를 찾으십시오.

+0

고마워, 나는 그 중 일부를 보았지만, 모두가 차트를 만든다. (데이터를 제공 할 때, 차트는 magiccally 나타난다.) IMAGES가 아니다. , 선, 일부 캔버스의 텍스트 및 (정적) 이미지로 결과 얻기) – gilhad

+0

내 대답을 편집했습니다. – navit

+0

고마워요, 제가 필요한 것. 또한 여기에 간단한 예제 django 채우기 :) http://effbot.org/zone/django-pil.htm – gilhad

0

http://matplotlib.org/은 많은 훌륭한 그래프를 생성 할 수 있습니다. 이미지로 저장하여 웹 페이지에 통합 할 수 있어야합니다.

+0

나는 영구적 인 이미지를 만들고 싶지 않아, 그들을 제시하고 그들을 제시, 난 그냥 메모리에 일부 rectagles을 결합하여 사용자에게 이미지로 보내고 싶어 다음, 그것을 잊어, 결코 다시 생성되지 않기 때문입니다. – gilhad

0

plotly은 무엇입니까? 프로젝트에서 사용 된 적이 없지만 예제를 읽으면 매우 강력하고 사용하기 쉬운 것처럼 보입니다. 그것은 static image export을 가지고 있습니다 (대부분의 그래픽 라이브러리가 가지고있는 것처럼).

관련 문제