importturtle#定义全局变量count=10#词频排列显示个数data=[]#单词频率数组-作为y轴数据words=[]#单词数组-作为x轴数据yScale=6#y轴放大倍数-可以根据词频数量进行调节xScale=30#x轴放...
import turtle#定义全局变量count = 10 #词频排列显示个数data = [] #单词频率数组-作为y轴数据words = [] #单词数组-作为x轴数据yScale = 6 #y轴放大倍数-可以根据词频数量进行调节xScale = 30 #x轴放大倍数-可以根据count数量进行调节#从点(x1,y1)到(x2,y2)绘制线段def drawLine(t, x1, y1, x2, y2): t.penup() t.goto(x1, y1) t.pendown() t.goto(x2, y2)#在坐标(x,y)处写文字def drawText(t, x, y, text): t.penup() t.goto(x, y) t.pendown() w.write(text)#绘制一个柱体def drawRectangle(t, x, y): x = x*xScale y = y*yScale #放大倍数显示 即每个柱体间的距离 drawLine(t, x-5, 0, x-5, y) #画柱体的四条边 drawLine(t, x-5, y, x+5, y) drawLine(t, x+5, y, x+5, 0) drawLine(t, x+5, 0, x-5, 0)#绘制多个柱体def drawBar(t): for i in range(count): drawRectangle(t, i+1, data[i])#绘制x/y轴线def drawGraph(t): drawLine(t, 0, 0, 360, 0) drawLine(t, 0, 300, 0, 0) #x轴:坐标及描述 for x in range(count): x = x+1 #向右移一位,为了不把柱体画在原点上 drawText(t, x*xScale-4, -20, (words[x-1])) drawText(t, x*xScale-4, data[x-1]*yScale+10, data[x-1]) drawBar(t)def replacePunctuations(line): #用空格替换标点的函数 for ch in line: if ch in "~!@#$%^&*()_+=-[]{}';:/?.>,
不好意思代码乱了
展开