python图像识别⽣成⽮量图_Pygal,可导出⽮量图的Python可
视化利器
Python有很多优秀的可视化库,其中有名的像matplotlib、seaborn、plotly,可以绘制出各式绚丽的图表
这次介绍⼀个不那么⼴为⼈知但依然优秀的可视化库-Pygal
官⽹介绍说Pygal是⼀个性感的Python制表⼯具,提供了14种图表类型,可以轻松定制出版级别的交互式图表。
相⽐较seaborn等明星库,Pygal有哪些值得⼀说的优点呢?
⾼度可定制,⽽且⽤法简单;
图表可交互性强;
图像可导出SVG格式(⽮量图形);
与Django、Flask等Web框架⾼度集成;
Pygal⽀持哪些图表?
Pygal⽬前⽀持的图表有折线图、点图、柱状图、直⽅图、饼图、雷达图、箱图、⽓泡图、漏⽃图、圆环图、仪表板、漏⽃图、热⼒图、地图。
既可以在浏览器中直接查看图表,或集成到web中,也可以导出图表。
可以导出的格式有:SVG、PNG、Etree、64位URI
Pygal默认在jupyter notebook不显⽰,需要保存问svg、png等格式,浏览器打开查看,为了便于展⽰,做了如下设置可在jupyter notebook中展⽰。
import pygal
#设置pygal与jupyter notebook交互
from IPython.display import display, HTML
base_html = """
周杰林心如什么事件html>
{rendered_chart}
"""
安装并导⼊Pygal
使⽤pip或者conda进⾏安装,在命令⾏输⼊:
pip install pygal
⼏秒钟便可安装完成。
安装好后,导⼊Pygal:
import pygal
这⾥⽤的是Jupyter Notebook环境,好了,接下来正式绘图。
绘图步骤
Pygal的⽤法⾮常简单,主要分三步:
⽣成图表对象
导⼊数据
导出图像
这⾥简单绘制⼀个柱状图:蒋友柏关颖
# 导⼊pygal库
import pygal
# 创建柱状图对象
bar_chart = pygal.Bar()
# 图表命名
bar_chart.title = 'NBA历史得分前五球星数据' # 添加数据
王子奇王玉雯三搭哪部戏bar_chart.add('贾巴尔', 38387)
bar_chart.add('马龙', 36928)
bar_chart.add('詹姆斯', 34384)
bar_chart.add('科⽐', 33643)
bar_chart.add('乔丹', 32292)
台风现在在哪里了
# 在浏览器中查看
der_in_browser()
# 导出为⽮量图形陈乔恩老公 个人资料
der_to_file('NBA.svg')
常见图形
折线图
line_chart = pygal.Line()
line_chart.title = 'Browser usage evolution (in %)'
# 添加x轴标签
line_chart.x_labels = map(str, range(2002, 2013))
# 传⼊数据
line_chart.add('Firefox', [None, None,    0, 16.6,  25,  31, 36.4, 45.5, 46.3, 42.8, 37.1])
line_chart.add('Chrome',  [None, None, None, None, None, None,    0,  3.9, 10.8, 23.8, 35.3]) line_chart.add('IE',      [85.8, 84.6, 84.7, 74.5,  66, 58.6, 54.7, 44.8, 36.2, 26.6, 20.1])
line_chart.add('Others',  [14.2, 15.4, 15.3,  8.9,    9, 10.4,  8.9,  5.8,  6.7,  6.8,  7.5])
#图⽚渲染
HTML(base_html.format(rendered_chart=der(is_unicode=True)))
柱状图
line_chart = pygal.HorizontalBar()
line_chart.title = 'Browser usage in February 2012 (in %)'
line_chart.add('IE', 19.5)
line_chart.add('Firefox', 36.6)
line_chart.add('Chrome', 36.3)
line_chart.add('Safari', 4.5)
line_chart.add('Opera', 2.3)
#图⽚渲染快乐女生郁可唯
HTML(base_html.format(rendered_chart=der(is_unicode=True)))
饼图
pie_chart = pygal.Pie()
pie_chart.title = 'Browser usage by version in February 2012 (in %)'
pie_chart.add('IE', [5.7, 10.2, 2.6, 1])
pie_chart.add('Firefox', [.6, 16.8, 7.4, 2.2, 1.2, 1, 1, 1.1, 4.3, 1])
pie_chart.add('Chrome', [.3, .9, 17.1, 15.3, .6, .5, 1.6])
pie_chart.add('Safari', [4.4, .1])
pie_chart.add('Opera', [.1, 1.6, .1, .5])
#图⽚渲染
HTML(base_html.format(rendered_chart=der(is_unicode=True)))