博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 数据可视化之 Pygal 图表
阅读量:4229 次
发布时间:2019-05-26

本文共 23684 字,大约阅读时间需要 78 分钟。

pip install pygal -i https://pypi.tuna.tsinghua.edu.cn/simple

使用的编辑器是 Pycharm 工具软件,各位可以参考一下,下载完并且安装完Pycharn后新建项目新建  文件

简单的 python 图表

import pygalpygal.Bar()(1, 3, 3, 7)(1, 6, 6, 4).render()

生成 svg 图表(svg 文件查看的时候请用浏览器打开查看哟!!!)

pygal.Bar()(1, 3, 3, 7)(1, 6, 6, 4).render_to_file("simple.svg")

由于markdown不支持 svg 格式,只好用截图代替

制作多系列图标

import pygalbar_chart = pygal.Bar()bar_chart.add('Fibonacci', [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55])bar_chart.add('Padovan', [1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12])bar_chart.render_to_file("mul-graph.svg")

Python数据可视化之Pygal图表类型

堆叠图表 StackedBar

import pygalbar_chart = pygal.StackedBar()bar_chart.add('Fibonacci', [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55])bar_chart.add('Padovan', [1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12])bar_chart.render_to_file("StackedBar.svg")

Python数据可视化之Pygal图表类型

将上面的图表水平 HorizontalStackedBar

import pygalbar_chart = pygal.HorizontalStackedBar()bar_chart.add('Fibonacci', [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55])bar_chart.add('Padovan', [1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12])bar_chart.render_to_file("HorizontalStackedBar.svg")

Python数据可视化之Pygal图表类型

添加标签

import pygalbar_chart = pygal.HorizontalStackedBar()bar_chart.title = "Remarquable sequences"bar_chart.x_labels = map(str, range(11))bar_chart.add('Fibonacci', [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55])bar_chart.add('Padovan', [1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12])bar_chart.render_to_file("HorizontalStackedBar-add-labels.svg")

Python数据可视化之Pygal图表类型

图表类型

上面只介绍了 Bar,下面就介绍 Pygal 各种图表类型

Line

Basic

基本的简单线形图

import pygalline_chart = pygal.Line()line_chart.title = 'Browser usage evolution (in %)'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])line_chart.render_to_file("line-basic.svg")

Python数据可视化之Pygal图表类型

Horizontal Line

相同的图形但水平,范围为 0-100。

import pygalline_chart = pygal.HorizontalLine()line_chart.title = 'Browser usage evolution (in %)'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])line_chart.range = [0, 100]line_chart.render_to_file("line-horizontal-line.svg")

Python数据可视化之Pygal图表类型

Stacked

相同的图形但具有堆叠值和填充渲染

import pygal# fill参数是指是否填充line_chart = pygal.StackedLine(fill=True)line_chart.title = 'Browser usage evolution (in %)'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])line_chart.render_to_file("line-stacked.svg")

Python数据可视化之Pygal图表类型

Time

对于与时间相关的图,只需格式化标签或使用xy图表的一种变体

import pygalfrom datetime import datetime# x_label_rotation=20是指x轴标签右旋转20度,可负数,负数向左旋转date_chart = pygal.Line(x_label_rotation=-20)date_chart.x_labels = map(lambda d: d.strftime('%Y-%m-%d'), [ datetime(2013, 1, 2), datetime(2013, 1, 12), datetime(2013, 2, 2), datetime(2013, 2, 22)])date_chart.add("Visits", [300, 412, 823, 672])date_chart.render_to_file("line-time.svg")

Python数据可视化之Pygal图表类型

Bar

Basic

基本的简单条形图

import pygalline_chart = pygal.Bar()line_chart.title = 'Browser usage evolution (in %)'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])line_chart.render_to_file("bar-basic.svg")

Python数据可视化之Pygal图表类型

Stacked

相同的图形但具有堆叠值

import pygalline_chart = pygal.StackedBar()line_chart.title = 'Browser usage evolution (in %)'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])line_chart.render_to_file("bar-stacked.svg")

Python数据可视化之Pygal图表类型

Horizontal

水平条形图

import pygalline_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)line_chart.render_to_file("bar-horizontal.svg")

Python数据可视化之Pygal图表类型

Histogram

Basic

直方图是特殊条形,它为条形图取3个值:纵坐标高度,横坐标开始和横坐标结束。

import pygalhist = pygal.Histogram()hist.add('Wide bars', [(5, 0, 10), (4, 5, 13), (2, 0, 15)])hist.add('Narrow bars',  [(10, 1, 2), (12, 4, 4.5), (8, 11, 13)])hist.render_to_file("histogram-basic.svg")

Python数据可视化之Pygal图表类型

XY

Basic

基本XY线,绘制余弦函数

import pygalfrom math import cosxy_chart = pygal.XY()xy_chart.title = 'XY Cosinus'xy_chart.add('x = cos(y)', [(cos(x / 10.), x / 10.) for x in range(-50, 50, 5)])xy_chart.add('y = cos(x)', [(x / 10., cos(x / 10.)) for x in range(-50, 50, 5)])xy_chart.add('x = 1',  [(1, -5), (1, 5)])xy_chart.add('x = -1', [(-1, -5), (-1, 5)])xy_chart.add('y = 1',  [(-5, 1), (5, 1)])xy_chart.add('y = -1', [(-5, -1), (5, -1)])xy_chart.render_to_file("xy-basic.svg")

Python数据可视化之Pygal图表类型

Scatter Plot

禁用点和点之间的连线而获得散点图

import pygal# stroke参数是指是否禁用连线xy_chart = pygal.XY(stroke=False)xy_chart.title = 'Correlation'xy_chart.add('A', [(0, 0), (.1, .2), (.3, .1), (.5, 1), (.8, .6), (1, 1.08), (1.3, 1.1), (2, 3.23), (2.43, 2)])xy_chart.add('B', [(.1, .15), (.12, .23), (.4, .3), (.6, .4), (.21, .21), (.5, .3), (.6, .8), (.7, .8)])xy_chart.add('C', [(.05, .01), (.13, .02), (1.5, 1.7), (1.52, 1.6), (1.8, 1.63), (1.5, 1.82), (1.7, 1.23), (2.1, 2.23), (2.3, 1.98)])xy_chart.render_to_file("xy-scatter-plot.svg")

Python数据可视化之Pygal图表类型

Dates

DateTime

import pygalfrom datetime import datetime# truncate_label=-1是指显示到最后一个元素# x_value_formatter指X轴的值的格式化datetimeline = pygal.DateTimeLine(    x_label_rotation=35, truncate_label=-1,    x_value_formatter=lambda dt: dt.strftime('%d, %b %Y at %I:%M:%S %p'))datetimeline.add("Serie", [    (datetime(2013, 1, 2, 12, 0), 300),    (datetime(2013, 1, 12, 14, 30, 45), 412),    (datetime(2013, 2, 2, 6), 823),    (datetime(2013, 2, 22, 9, 45), 672)])datetimeline.render_to_file("dates-datetime.svg")

Python数据可视化之Pygal图表类型

Date

import pygalfrom datetime import datedateline = pygal.DateLine(x_label_rotation=25)dateline.x_labels = [    date(2013, 1, 1),    date(2013, 7, 1),    date(2014, 1, 1),    date(2014, 7, 1),    date(2015, 1, 1),    date(2015, 7, 1)]dateline.add("Serie", [    (date(2013, 1, 2), 213),    (date(2013, 8, 2), 281),    (date(2014, 12, 7), 198),    (date(2015, 3, 21), 120)])dateline.render_to_file("dates-date.svg")

Python数据可视化之Pygal图表类型

Time

import pygalfrom datetime import timedateline = pygal.TimeLine(x_label_rotation=25)dateline.add("Serie", [  (time(), 0),  (time(6), 5),  (time(8, 30), 12),  (time(11, 59, 59), 4),  (time(18), 10),  (time(23, 30), -1),])dateline.render_to_file("dates-time.svg")

Python数据可视化之Pygal图表类型

TimeDelta

import pygalfrom datetime import timedeltadateline = pygal.TimeDeltaLine(x_label_rotation=25)dateline.add("Serie", [  (timedelta(), 0),  (timedelta(seconds=6), 5),  (timedelta(minutes=11, seconds=59), 4),  (timedelta(days=3, microseconds=30), 12),  (timedelta(weeks=1), 10),])dateline.render_to_file("dates-timedelta.svg")

Python数据可视化之Pygal图表类型

Pie

Basic

简单的饼图

import pygalpie_chart = pygal.Pie()pie_chart.title = 'Browser usage in February 2012 (in %)'pie_chart.add('IE', 19.5)pie_chart.add('Firefox', 36.6)pie_chart.add('Chrome', 36.3)pie_chart.add('Safari', 4.5)pie_chart.add('Opera', 2.3)pie_chart.render_to_file("pie-basic.svg")

Python数据可视化之Pygal图表类型

Multi-series pie

相同的饼图,但分为子类别

import pygalpie_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])pie_chart.render_to_file("pie-multi-series.svg")

Python数据可视化之Pygal图表类型

Donut

可以指定内半径来获得甜甜圈

import pygal# inner_radius内圆半径0和1之间pie_chart = pygal.Pie(inner_radius=.5)pie_chart.title = 'Browser usage in February 2012 (in %)'pie_chart.add('IE', 19.5)pie_chart.add('Firefox', 36.6)pie_chart.add('Chrome', 36.3)pie_chart.add('Safari', 4.5)pie_chart.add('Opera', 2.3)pie_chart.render_to_file("pie-donut.svg")

Python数据可视化之Pygal图表类型

Half pie

import pygal# half_pie参数是指是否为半圆pie_chart = pygal.Pie(half_pie=True)pie_chart.title = 'Browser usage in February 2012 (in %)'pie_chart.add('IE', 19.5)pie_chart.add('Firefox', 36.6)pie_chart.add('Chrome', 36.3)pie_chart.add('Safari', 4.5)pie_chart.add('Opera', 2.3)pie_chart.render_to_file("pie-half.svg")

Python数据可视化之Pygal图表类型

Radar

Basic

简单的 Kiviat 图

import pygalradar_chart = pygal.Radar()radar_chart.title = 'V8 benchmark results'radar_chart.x_labels = ['Richards', 'DeltaBlue', 'Crypto', 'RayTrace', 'EarleyBoyer', 'RegExp', 'Splay', 'NavierStokes']radar_chart.add('Chrome', [6395, 8212, 7520, 7218, 12464, 1660, 2123, 8607])radar_chart.add('Firefox', [7473, 8099, 11700, 2651, 6361, 1044, 3797, 9450])radar_chart.add('Opera', [3472, 2933, 4203, 5229, 5810, 1828, 9013, 4669])radar_chart.add('IE', [43, 41, 59, 79, 144, 136, 34, 102])radar_chart.render_to_file("radar-basic.svg")# 或者下面这种也可以import pygalradar_chart = pygal.Radar(title='V8 benchmark results', width=600, height=500)radar_chart.title = 'V8 benchmark results'radar_chart.width = 600radar_chart.height = 500radar_chart.x_labels = ['Richards', 'DeltaBlue', 'Crypto', 'RayTrace', 'EarleyBoyer', 'RegExp', 'Splay', 'NavierStokes']radar_chart.add('Chrome', [6395, 8212, 7520, 7218, 12464, 1660, 2123, 8607])radar_chart.add('Firefox', [7473, 8099, 11700, 2651, 6361, 1044, 3797, 9450])radar_chart.add('Opera', [3472, 2933, 4203, 5229, 5810, 1828, 9013, 4669])radar_chart.add('IE', [43, 41, 59, 79, 144, 136, 34, 102])radar_chart.render_to_file("radar-basic.svg")

Python数据可视化之Pygal图表类型

Box

Extremes (default)

import pygalbox_plot = pygal.Box()box_plot.title = 'V8 benchmark results'box_plot.add('Chrome', [6395, 8212, 7520, 7218, 12464, 1660, 2123, 8607])box_plot.add('Firefox', [7473, 8099, 11700, 2651, 6361, 1044, 3797, 9450])box_plot.add('Opera', [3472, 2933, 4203, 5229, 5810, 1828, 9013, 4669])box_plot.add('IE', [43, 41, 59, 79, 144, 136, 34, 102])box_plot.render_to_file("box-extremes.svg")

Python数据可视化之Pygal图表类型

1.5 interquartile range

import pygalbox_plot = pygal.Box(box_mode="1.5IQR")box_plot.title = 'V8 benchmark results'box_plot.add('Chrome', [6395, 8212, 7520, 7218, 12464, 1660, 2123, 8607])box_plot.add('Firefox', [7473, 8099, 11700, 2651, 6361, 1044, 3797, 9450])box_plot.add('Opera', [3472, 2933, 4203, 5229, 5810, 1828, 9013, 4669])box_plot.add('IE', [43, 41, 59, 79, 144, 136, 34, 102])box_plot.render_to_file("box-interquartile.svg")

Python数据可视化之Pygal图表类型

Dot

Basic

import pygaldot_chart = pygal.Dot(x_label_rotation=30)dot_chart.title = 'V8 benchmark results'dot_chart.x_labels = ['Richards', 'DeltaBlue', 'Crypto', 'RayTrace', 'EarleyBoyer', 'RegExp', 'Splay', 'NavierStokes']dot_chart.add('Chrome', [6395, 8212, 7520, 7218, 12464, 1660, 2123, 8607])dot_chart.add('Firefox', [7473, 8099, 11700, 2651, 6361, 1044, 3797, 9450])dot_chart.add('Opera', [3472, 2933, 4203, 5229, 5810, 1828, 9013, 4669])dot_chart.add('IE', [43, 41, 59, 79, 144, 136, 34, 102])dot_chart.render_to_file('dot-basic.svg')

Python数据可视化之Pygal图表类型

Negative

支持负数

import pygaldot_chart = pygal.Dot(x_label_rotation=30)dot_chart.add('Normal', [10, 50, 76, 80, 25])dot_chart.add('With negatives', [0, -34, -29, 39, -75])dot_chart.render_to_file('dot-negative.svg')

Python数据可视化之Pygal图表类型

Funnel

Basic

漏斗图

import pygalfunnel_chart = pygal.Funnel()funnel_chart.title = 'V8 benchmark results'funnel_chart.x_labels = ['Richards', 'DeltaBlue', 'Crypto', 'RayTrace', 'EarleyBoyer', 'RegExp', 'Splay', 'NavierStokes']funnel_chart.add('Opera', [3472, 2933, 4203, 5229, 5810, 1828, 9013, 4669])funnel_chart.add('Firefox', [7473, 8099, 11700, 2651, 6361, 1044, 3797, 9450])funnel_chart.add('Chrome', [6395, 8212, 7520, 7218, 12464, 1660, 2123, 8607])funnel_chart.render_to_file('funnel-basic.svg')

Python数据可视化之Pygal图表类型

SolidGauge

import pygalgauge = pygal.SolidGauge(inner_radius=0.70)# 百分格式percent_formatter = lambda x: '{:.10g}%'.format(x)# 美元格式dollar_formatter = lambda x: '{:.10g}$'.format(x)gauge.value_formatter = percent_formattergauge.add('Series 1', [{'value': 225000, 'max_value': 1275000}],          formatter=dollar_formatter)gauge.add('Series 2', [{'value': 110, 'max_value': 100}])gauge.add('Series 3', [{'value': 3}])gauge.add(    'Series 4', [        {'value': 51, 'max_value': 100},        {'value': 12, 'max_value': 100}])gauge.add('Series 5', [{'value': 79, 'max_value': 100}])gauge.add('Series 6', 99)gauge.add('Series 7', [{'value': 100, 'max_value': 100}])gauge.render_to_file('solidgauge-normal.svg')

Python数据可视化之Pygal图表类型

Half

import pygalgauge = pygal.SolidGauge(    half_pie=True, inner_radius=0.70,    style=pygal.style.styles['default'](value_font_size=10))percent_formatter = lambda x: '{:.10g}%'.format(x)dollar_formatter = lambda x: '{:.10g}$'.format(x)gauge.value_formatter = percent_formattergauge.add('Series 1', [{'value': 225000, 'max_value': 1275000}],          formatter=dollar_formatter)gauge.add('Series 2', [{'value': 110, 'max_value': 100}])gauge.add('Series 3', [{'value': 3}])gauge.add(    'Series 4', [        {'value': 51, 'max_value': 100},        {'value': 12, 'max_value': 100}])gauge.add('Series 5', [{'value': 79, 'max_value': 100}])gauge.add('Series 6', 99)gauge.add('Series 7', [{'value': 100, 'max_value': 100}])gauge.render_to_file('solidgauge-half.svg')

Python数据可视化之Pygal图表类型

Gauge

Basic

仪表图

import pygalgauge_chart = pygal.Gauge(human_readable=True)gauge_chart.title = 'DeltaBlue V8 benchmark results'gauge_chart.range = [0, 10000]gauge_chart.add('Chrome', 8212)gauge_chart.add('Firefox', 8099)gauge_chart.add('Opera', 2933)gauge_chart.add('IE', 41)gauge_chart.render_to_file('gauge-basic.svg')

Python数据可视化之Pygal图表类型

Pyramid

Basic

人口金字塔

import pygalages = [(364381, 358443, 360172, 345848, 334895, 326914, 323053, 312576, 302015, 301277, 309874, 318295, 323396, 332736, 330759, 335267, 345096, 352685, 368067, 381521, 380145, 378724, 388045, 382303, 373469, 365184, 342869, 316928, 285137, 273553, 250861, 221358, 195884, 179321, 171010, 162594, 152221, 148843, 143013, 135887, 125824, 121493, 115913, 113738, 105612, 99596, 91609, 83917, 75688, 69538, 62999, 58864, 54593, 48818, 44739, 41096, 39169, 36321, 34284, 32330, 31437, 30661, 31332, 30334, 23600, 21999, 20187, 19075, 16574, 15091, 14977, 14171, 13687, 13155, 12558, 11600, 10827, 10436, 9851, 9794, 8787, 7993, 6901, 6422, 5506, 4839, 4144, 3433, 2936, 2615),   (346205, 340570, 342668, 328475, 319010, 312898, 308153, 296752, 289639, 290466, 296190, 303871, 309886, 317436, 315487, 316696, 325772, 331694, 345815, 354696, 354899, 351727, 354579, 341702, 336421, 321116, 292261, 261874, 242407, 229488, 208939, 184147, 162662, 147361, 140424, 134336, 126929, 125404, 122764, 116004, 105590, 100813, 95021, 90950, 85036, 79391, 72952, 66022, 59326, 52716, 46582, 42772, 38509, 34048, 30887, 28053, 26152, 23931, 22039, 20677, 19869, 19026, 18757, 18308, 14458, 13685, 12942, 12323, 11033, 10183, 10628, 10803, 10655, 10482, 10202, 10166, 9939, 10138, 10007, 10174, 9997, 9465, 9028, 8806, 8450, 7941, 7253, 6698, 6267, 5773),   (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 91, 412, 1319, 2984, 5816, 10053, 16045, 24240, 35066, 47828, 62384, 78916, 97822, 112738, 124414, 130658, 140789, 153951, 168560, 179996, 194471, 212006, 225209, 228886, 239690, 245974, 253459, 255455, 260715, 259980, 256481, 252222, 249467, 240268, 238465, 238167, 231361, 223832, 220459, 222512, 220099, 219301, 221322, 229783, 239336, 258360, 271151, 218063, 213461, 207617, 196227, 174615, 160855, 165410, 163070, 157379, 149698, 140570, 131785, 119936, 113751, 106989, 99294, 89097, 78413, 68174, 60592, 52189, 43375, 35469, 29648, 24575, 20863),   (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 392, 1351, 3906, 7847, 12857, 19913, 29108, 42475, 58287, 74163, 90724, 108375, 125886, 141559, 148061, 152871, 159725, 171298, 183536, 196136, 210831, 228757, 238731, 239616, 250036, 251759, 259593, 261832, 264864, 264702, 264070, 258117, 253678, 245440, 241342, 239843, 232493, 226118, 221644, 223440, 219833, 219659, 221271, 227123, 232865, 250646, 261796, 210136, 201824, 193109, 181831, 159280, 145235, 145929, 140266, 133082, 124350, 114441, 104655, 93223, 85899, 78800, 72081, 62645, 53214, 44086, 38481, 32219, 26867, 21443, 16899, 13680, 11508),   (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 5, 17, 15, 31, 34, 38, 35, 45, 299, 295, 218, 247, 252, 254, 222, 307, 316, 385, 416, 463, 557, 670, 830, 889, 1025, 1149, 1356, 1488, 1835, 1929, 2130, 2362, 2494, 2884, 3160, 3487, 3916, 4196, 4619, 5032, 5709, 6347, 7288, 8139, 9344, 11002, 12809, 11504, 11918, 12927, 13642, 13298, 14015, 15751, 17445, 18591, 19682, 20969, 21629, 22549, 23619, 25288, 26293, 27038, 27039, 27070, 27750, 27244, 25905, 24357, 22561, 21794, 20595),   (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 8, 0, 8, 21, 34, 49, 84, 97, 368, 401, 414, 557, 654, 631, 689, 698, 858, 1031, 1120, 1263, 1614, 1882, 2137, 2516, 2923, 3132, 3741, 4259, 4930, 5320, 5948, 6548, 7463, 8309, 9142, 10321, 11167, 12062, 13317, 15238, 16706, 18236, 20336, 23407, 27024, 32502, 37334, 34454, 38080, 41811, 44490, 45247, 46830, 53616, 58798, 63224, 66841, 71086, 73654, 77334, 82062, 87314, 92207, 94603, 94113, 92753, 93174, 91812, 87757, 84255, 79723, 77536, 74173),   (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 11, 35, 137, 331, 803, 1580, 2361, 3632, 4866, 6849, 8754, 10422, 12316, 14152, 16911, 19788, 22822, 27329, 31547, 35711, 38932, 42956, 46466, 49983, 52885, 55178, 56549, 57632, 57770, 57427, 56348, 55593, 55554, 53266, 51084, 49342, 48555, 47067, 45789, 44988, 44624, 44238, 46267, 46203, 36964, 33866, 31701, 28770, 25174, 22702, 21934, 20638, 19051, 17073, 15381, 13736, 11690, 10368, 9350, 8375, 7063, 6006, 5044, 4030, 3420, 2612, 2006, 1709, 1264, 1018),   (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6, 11, 20, 68, 179, 480, 1077, 2094, 3581, 5151, 7047, 9590, 12434, 15039, 17257, 19098, 21324, 24453, 27813, 32316, 37281, 43597, 49647, 53559, 58888, 62375, 67219, 70956, 73547, 74904, 75994, 76224, 74979, 72064, 70330, 68944, 66527, 63073, 60899, 60968, 58756, 57647, 56301, 57246, 57068, 59027, 59187, 47549, 44425, 40976, 38077, 32904, 29431, 29491, 28020, 26086, 24069, 21742, 19498, 17400, 15738, 14451, 13107, 11568, 10171, 8530, 7273, 6488, 5372, 4499, 3691, 3259, 2657)]types = ['Males single', 'Females single',         'Males married', 'Females married',         'Males widowed', 'Females widowed',         'Males divorced', 'Females divorced']pyramid_chart = pygal.Pyramid(human_readable=True, legend_at_bottom=True)pyramid_chart.title = 'England population by age in 2010 (source: ons.gov.uk)'pyramid_chart.x_labels = map(lambda x: str(x) if not x % 5 else '', range(90))for type, age in zip(types, ages):    pyramid_chart.add(type, age)pyramid_chart.render_to_file('pyramid-basic.svg')

Python数据可视化之Pygal图表类型

Treemap

Basic

树形图

import pygaltreemap = pygal.Treemap()treemap.title = 'Binary TreeMap'treemap.add('A', [2, 1, 12, 4, 2, 1, 1, 3, 12, 3, 4, None, 9])treemap.add('B', [4, 2, 5, 10, 3, 4, 2, 7, 4, -10, None, 8, 3, 1])treemap.add('C', [3, 8, 3, 3, 5, 3, 3, 5, 4, 12])treemap.add('D', [23, 18])treemap.add('E', [1, 2, 1, 2, 3, 3, 1, 2, 3,      4, 3, 1, 2, 1, 1, 1, 1, 1])treemap.add('F', [31])treemap.add('G', [5, 9.3, 8.1, 12, 4, 3, 2])treemap.add('H', [12, 3, 3])treemap.render_to_file('treemap-basic.svg')

Python数据可视化之Pygal图表类型

Maps

World map

安装

pip install pygal_maps_world

Countries

import pygalworldmap_chart = pygal.maps.world.World()worldmap_chart.title = 'Some countries'worldmap_chart.add('C countries', ['cn', 'ca', 'ch', 'cg'])worldmap_chart.add('F countries', ['fr', 'fi'])worldmap_chart.add('M countries', ['ma', 'mc', 'md', 'me', 'mg',                                   'mk', 'ml', 'mm', 'mn', 'mo',                                   'mr', 'mt', 'mu', 'mv', 'mw',                                   'mx', 'my', 'mz'])worldmap_chart.add('U countries', ['ua', 'ug', 'us', 'uy', 'uz'])worldmap_chart.render_to_file('world-map-countries.svg')

Python数据可视化之Pygal图表类型

Continents

访问各大洲

import pygalsupra = pygal.maps.world.SupranationalWorld()supra.add('Asia', [('asia', 1)])supra.add('Europe', [('europe', 1)])supra.add('Africa', [('africa', 1)])supra.add('North america', [('north_america', 1)])supra.add('South america', [('south_america', 1)])supra.add('Oceania', [('oceania', 1)])supra.add('Antartica', [('antartica', 1)])supra.render_to_file('world-map-continents.svg')

Python数据可视化之Pygal图表类型

国家代码列表

code Country code Country
ad Andorra la Lao People’s Democratic Republic
ae United Arab Emirates lb Lebanon
af Afghanistan li Liechtenstein
al Albania lk Sri Lanka
am Armenia lr Liberia
ao Angola ls Lesotho
aq Antarctica lt Lithuania
ar Argentina lu Luxembourg
at Austria lv Latvia
au Australia ly Libyan Arab Jamahiriya
az Azerbaijan ma Morocco
ba Bosnia and Herzegovina mc Monaco
bd Bangladesh md Moldova, Republic of
be Belgium me Montenegro
bf Burkina Faso mg Madagascar
bg Bulgaria mk Macedonia, the former Yugoslav Republic of
bh Bahrain ml Mali
bi Burundi mm Myanmar
bj Benin mn Mongolia
bn Brunei Darussalam mo Macao
bo Bolivia, Plurinational State of mr Mauritania
br Brazil mt Malta
bt Bhutan mu Mauritius
bw Botswana mv Maldives
by Belarus mw Malawi
bz Belize mx Mexico
ca Canada my Malaysia
cd Congo, the Democratic Republic of the mz Mozambique
cf Central African Republic na Namibia
cg Congo ne Niger
ch Switzerland ng Nigeria
ci Cote d’Ivoire ni Nicaragua
cl Chile nl Netherlands
cm Cameroon no Norway
cn China np Nepal
co Colombia nz New Zealand
cr Costa Rica om Oman
cu Cuba pa Panama
cv Cape Verde pe Peru
cy Cyprus pg Papua New Guinea
cz Czech Republic ph Philippines
de Germany pk Pakistan
dj Djibouti pl Poland
dk Denmark pr Puerto Rico
do Dominican Republic ps Palestine, State of
dz Algeria pt Portugal
ec Ecuador py Paraguay
ee Estonia re Reunion
eg Egypt ro Romania
eh Western Sahara rs Serbia
er Eritrea ru Russian Federation
es Spain rw Rwanda
et Ethiopia sa Saudi Arabia
fi Finland sc Seychelles
fr France sd Sudan
ga Gabon se Sweden
gb United Kingdom sg Singapore
ge Georgia sh Saint Helena, Ascension and Tristan da Cunha
gf French Guiana si Slovenia
gh Ghana sk Slovakia
gl Greenland sl Sierra Leone
gm Gambia sm San Marino
gn Guinea sn Senegal
gq Equatorial Guinea so Somalia
gr Greece sr Suriname
gt Guatemala st Sao Tome and Principe
gu Guam sv El Salvador
gw Guinea-Bissau sy Syrian Arab Republic
gy Guyana sz Swaziland
hk Hong Kong td Chad
hn Honduras tg Togo
hr Croatia th Thailand
ht Haiti tj Tajikistan
hu Hungary tl Timor-Leste
id Indonesia tm Turkmenistan
ie Ireland tn Tunisia
il Israel tr Turkey
in India tw Taiwan (Republic of China)
iq Iraq tz Tanzania, United Republic of
ir Iran, Islamic Republic of ua Ukraine
is Iceland ug Uganda
it Italy us United States
jm Jamaica uy Uruguay
jo Jordan uz Uzbekistan
jp Japan va Holy See (Vatican City State)
ke Kenya ve Venezuela, Bolivarian Republic of
kg Kyrgyzstan vn Viet Nam
kh Cambodia ye Yemen
kp Korea, Democratic People’s Republic of yt Mayotte
kr Korea, Republic of za South Africa
kw Kuwait zm Zambia
kz Kazakhstan zw Zimbabwe

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持

本文来源:
本文链接:https://www.codercto.com/a/30880.html

转载地址:http://enjqi.baihongyu.com/

你可能感兴趣的文章
Visual Studio .NET: The .NET Framework Black Book
查看>>
Best Kept Secrets in .NET
查看>>
SQL: The Complete Reference
查看>>
Wireless Network Hacks & Mods For Dummies
查看>>
Programming INDIGO
查看>>
.NET Development Security Solutions
查看>>
3ds Max 8 Bible
查看>>
Hack Proofing Your Web Applications
查看>>
Hack Proofing ColdFusion
查看>>
Routing TCP/IP, Volume II
查看>>
Unix Systems Programming: Communication, Concurrency and Threads, Second Edition
查看>>
Hack Proofing Your Network (Second Edition)
查看>>
XML Programming (Core Reference)
查看>>
Macromedia Studio 8 All-in-One Desk Reference For Dummies
查看>>
Telecom for Dummies
查看>>
ASP.NET 2.0 Illustrated
查看>>
PHP 5 in Practice
查看>>
Visual Studio .NET: The .NET Framework Black Book
查看>>
Sams Teach Yourself SAP in 24 Hours (2nd Edition)
查看>>
Ant Developer's Handbook
查看>>