使用python可视化包pygal生成可缩放的矢量图形文件

安装pygal

在Windows系统中,命令类似于下面这样:

pyhton -m pip install --user pygal==1.7

绘制直方图

1、为创建条形图,我们创建了一个pygal.Bar()实例,并将其存储在picture中。

picture=pygal.Bar()

2、接下来设置title属性,用来表示直方图的名字,并将掷骰子的所有可能结果用作x轴的标签(标签一定要是string型,int型会报错)。

xlabels=list(range(1,sides+1))
picture.x_labels=[]
for x in xlabels:
	picture.x_labels.append(str(x))

3、使用add()将一系列值添加到图表中('Die'是给添加值指定的标签,随意设,但不可缺少;frequencies是一个列表,存储将出现在图表中的值)。

picture.add('Die',frequencies)

4、将图片渲染为SVG文件,这种文件的扩展名必须为.svg。

picture.render_to_file('die_visual.svg')

结果演示:



import pygal
from random import randint

class Die():
	def __init__(self,sides=6):
		self.sides=sides
		
	def roll(self):
		return randint(1,self.sides)

values=[]
sides=int(input("How many sides? "))
die_visual=Die(sides)
for roll_num in range(20):
	value=die_visual.roll()
	values.append(value)
frequencies=[]
for value in range(1,int(sides)+1):
	frequency=values.count(value)
	frequencies.append(frequency)
picture=pygal.Bar()
picture.title='Frequencies of '+str(sides)+' kinds of situation'
picture.x_title='Values'
picture.y_title='Frequency of Values'
xlabels=list(range(1,sides+1))
picture.x_labels=[]
for x in xlabels:
	picture.x_labels.append(str(x))
picture.add('Die',frequencies)
picture.render_to_file('die_visual.svg')




猜你喜欢

转载自blog.csdn.net/wxy_csdn_world/article/details/80717504