python的squarify库⼀些⽤法
安装
按住键盘上的Start+R 键,然后输⼊cmd
进⼊命令符,输⼊pip install squarify
作⽤
python入门教程网盘⼀种坐标系,包括原点(x和y)和宽度/⾼度(dx和dy)的值。
从最⼤值到最⼩值排序并规范化为总⾯积(即dx*dy)的正值列表。
将数据⽣成基于matplotlib的树状图可视化
详情
函数返回⼀个dict列表(即JSON对象),每个dict都是⼀个矩形,其坐标与给定坐标系相对应,⾯积与相应值成⽐例。
import squarify
import matplotlib.pyplot as plt
x = 0.
y = 0.
width = 700.
height = 433.
values = [500, 433, 78, 25, 25, 7]
values.sort(reverse=True)
values = alize_sizes(values, width, height)
rects = squarify.squarify(values, x, y, width, height)
print(rects)
还有⼀个称为padded_squarify的squarify版本,它返回的矩形在布局时有⼀点填充以显⽰其边界。
import squarify
import matplotlib.pyplot as plt
随机数表又可以称为什么x = 0
y = 0
width = 700
height = 433
values = [500, 433, 78, 25, 25, 7]易购网网页设计素材
obviously)
values.sort(reverse=True)
checklistbox使用技巧values = alize_sizes(values, width, height)
padded_rects = squarify.padded_squarify(values, x, y, width, height)
print(padded_rects)
辅助函数normalize_size将计算规范化值
字体边框设计辅助函数plot将⽣成基于Matplotlib的数据树映射可视化,这个⽐较重点,也是⽐较常⽤的。
import pandas as pd
import matplotlib.pyplot as plt
import squarify
df_raw = pd.read_csv("实例.csv")
df = upby('class').size().reset_index(name='counts')#按照class的值分组,size统计数据,reset_index建⽴⼀个新的索引
labels = df.apply(lambda x: str(x[0]) + "\n (" + str(x[1]) + ")", axis=1)#lambda⼀种函数,冒号前是参数,可以有多个,冒号后为表达式;axis=0:将⼀列数据作为lamda的数据
colors = [Spectral(i/float(len(labels))) for i in range(len(labels))]
squarify.plot(sizes=(14,8,15,5,8),label=labels, color=colors, alpha=.8)#sizes的个数说明了分⽀数的个数,有⼏就是⼏,label显⽰标签,colors颜⾊,不同的取值有不同的颜⾊,alpha表⽰颜⾊的淡化程度
plt.title('Treemap of Vechile Class')
plt.axis('off')#不显⽰坐标轴
plt.show()
sizes⾥有五个数值,所以图⽚上有五个⽅块
将代码更改成squarify.plot(sizes=(14,8,15),label=labels, color=colors, alpha=.2)其中⽅块变成了三个,alpha=0.2,所以颜⾊
也变得更浅了
将代码更改成squarify.plot(sizes=(14,8,15), color=colors, alpha=1),颜⾊加深,同时标签也没有了,因为我去掉了labels;注意alpha的取值范围是(0~1)
前端培训课程代码中的⽂件地址百度⽹盘提取码:k8kd
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论