0

私は質問に行き詰まっています。リストに一連のデータ(たとえば、学生の数とそれに対応する学年)がある場合、クイックドローでヒストグラムを作成するためにそれをどのようにコーディングしますか?

4

1 に答える 1

1

Quickdrawは、そのままのグラフをサポートしていません。すべてを自分で描画してマッピングする必要があります。例を次に示します。

#!/bin/python 

import random

#create 40 random grades 
grades = [(float(int(float(20*random.random())))/2)+0.5 for i in xrange(40)]

#count the occurrence of each grade
histogram = []
for i in sorted(set(grades)): histogram.append([int(i*50),grades.count(i)])

#some grid information
gridsize = 500
griddiv = 20
topleft = 50

#graph title
print 'text', '"','Histogram of Grades','"', 220, 25

#x axis title
for i in range(1,21):
    print 'text', '"',float(i)/2,'"', (i+1)*25, 570

#y axix title
for i in range(0,11):
    print 'text', '"',i,'"', 25, 600-(i+1)*50

#grid
print 'grid', topleft, topleft, gridsize, gridsize, griddiv, griddiv

#chart rectangles 
print 'color 0 140 0'
for i in histogram:
    print 'fillrect',i[0]-25+topleft, gridsize-(50*i[1])+topleft,gridsize/griddiv,50*i[1],'b'+str(i[0])
    print 'fillrect', 'color','b'+str(i[0])

コードを保存してhistogram.py実行するpython histogram.py | java -jar quickdraw.jarと、あまりきれいではないことに注意してください。より良い方法は、Pythonライブラリを使用することですmatplotlib

ここに画像の説明を入力してください

于 2012-11-09T19:48:17.053 に答える