Python入门:数据可视化pygal

如果你有基础,英语也凑合,那直接看官网就好
官网链接:http://www.pygal.org/en/stable/
看官网,最靠谱

安装库

如果你连Python都没有,我想拍你,但是舍不得
给你安装链接:
https://www.liaoxuefeng.com/wiki/1016959663602400/1016959856222624
(这是廖雪峰网站上给出的安装说明,给大家推荐他的Python教程,感觉很棒)

如果是默认的IDLE编辑器,打开命令提示符(附件——命令提示符)


如果是Spyder编辑器,打开Anaconda下的命令提示符

界面如下

输入pip install pygal,安装pygal的库

pip install pygal

接着依次安装一些依赖库,这些依赖库主要是为了渲染的效果。就按顺序敲进去,输完一个,等待安装,然后再等下一个。

pip install lxml
pip install cairosvg
pip install tinycss
pip install cssselect

装好之后,如果你不放心,怕自己没装好。你可以重新输一遍代码。

pygal为例,输入pip install pygal

显示已经satisfied,就表明已经成功安装好了

开始作图

import pygal                 
# First import 
pygalbar_chart = pygal.Bar()                     
 # Then create a bar graph object
bar_chart.add('Fibonacci', [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55])  
# Add some values
bar_chart.render_to_file('bar_chart.svg')         
# Save the svg to a file

解释一下这个代码:

  1. pygal这个模块导入,import进来
  2. 建立一个柱状图,关键词是Bar。这个图定义为bar_chart,这个名称你可以随意换,但是pygal.Bar()这部分你不准动
  3. add添加数据,为'Fibonacci'添加数据,这个内容你也可以随便改
  4. 把得到的图像保存为svg格式,存到当前的目录下面(就是和你代码在一个目录下面),保存的文件名就是ar_chart.svg,这个名字你也可以随便改
  5. 如果你想保存一个png的图片格式,不想要svg格式,那你可以把最后一行代码改成
line_chart.render_to_png('bar_chart.png')

双击你刚刚保存好的bar_chart.svg,在任意浏览器,你就可以看到你刚刚画的柱状图


就这么简单的搞定啦~

下面,进阶一点点

我有好几组数据怎么办?多add几回

bar_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()

可以看到你添加的数据,和你输入的数据名称是对应的

这个柱状图不好看,我要换一种

bar_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()
  • 注意看,把第一行,pygal.后面的内容替换,不同的关键词,对应不同的图形。
    比如这里我们把原来的Bar换成HorizontalStackedBar,这里如果你英语还不错的话,那HorizontalStackedBar就是Horizontal Stacked Bar,水平堆积条形图
  • 其他代码一个字没变

下面,添加标题和坐标轴

bar_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()

Python很简单易懂,标题,就是title;横坐标,就是x_labels

再来看我们得到的图,这些信息就都有啦

作为图表初学者,现在,我们已经会画图了
那么,我们应该选择哪一种类型的图表呢?

图表类型

下面,我们来汇总一下,pygal有多少的图表
再次附上官网链接,官网啥都有
Chart types:
http://www.pygal.org/en/stable/documentation/types/index.html#chart-types

这里把代表图表类别的代码列给大家,后续的参数设计,都是一样的
如果对代码还是不熟悉,可以点击任意图表类型的关键词,跳转到官网,有很详细代码

有几点需要注意:

  • 所有的代码,你都要
import pygal   
  • 当你的代码需要一些其他数据的时候,你需要导入相应的模块,比如;
from datetime import datetime   # 你需要日期参数
from math import cos   # 你需要用到cos函数
  • import后面的内容,要根据你数据的需要,选择合适的库。具体可以看官网的例子

下面开始汇总

Line 图表
Basic
line_chart = pygal.Line()
Horizontal Line
line_chart = pygal.HorizontalLine()
Stacked
line_chart = pygal.StackedLine(fill=True)
Time
date_chart = pygal.Line(x_label_rotation=20)
None values
Bar 图表
Basic
line_chart = pygal.Bar()
Stacked
line_chart = pygal.StackedBar()
Horizontal
line_chart = pygal.HorizontalBar()
Histogram 图表
Basic
hist = pygal.Histogram()
XY 图表
Basic
xy_chart = pygal.XY()
Scatter Plot
xy_chart = pygal.XY(stroke=False)
Dates
datetimeline = pygal.DateTimeLine()
None values 参考Line部分
Pie 图表
Basic
pie_chart = pygal.Pie()
Multi-series pie
pie_chart = pygal.Pie()
Donut
pie_chart = pygal.Pie(inner_radius=.4)
Half pie
pie_chart = pygal.Pie(half_pie=True)
Radar 图表
Basic
radar_chart = pygal.Radar()
Box 图表
Extremes (default)
box_plot = pygal.Box()
1.5 interquartile range
box_plot = pygal.Box(box_mode="1.5IQR")
Tukey
box_plot = pygal.Box(box_mode="tukey")
Standard deviation
box_plot = pygal.Box(box_mode="stdev")
Population standard deviation
box_plot = pygal.Box(box_mode="pstdev")
Dot 图表
Basic
dot_chart = pygal.Dot(x_label_rotation=30)
Negative
dot_chart = pygal.Dot(x_label_rotation=30)
Funnel 图表
Basic
funnel_chart = pygal.Funnel()
SolidGauge 图表
Normal
gauge = pygal.SolidGauge(inner_radius=0.70)
Half
gauge = pygal.SolidGauge( half_pie=True, inner_radius=0.70, style=pygal.style.styles'default')
Gauge 图表
Basic
gauge_chart = pygal.Gauge(human_readable=True)
Pyramid 图表
Basic
pyramid_chart = pygal.Pyramid(human_readable=True, legend_at_bottom=True)
Treemap 图表
Basic
treemap = pygal.Treemap()

Maps部分需要注意,不同的maps需要不同的库,需要根据前面的方法,安装这些库

  • World map:pip install pygal_maps_world
  • French map:pip install pygal_maps_fr
  • Swiss map:pip install pygal_maps_ch
Maps 图表
World map
supra = pygal.maps.world.SupranationalWorld()
French map
fr_chart = pygal.maps.fr.Departments(human_readable=True)
Swiss map
ch_chart = pygal.maps.ch.Cantons()

最后

这里只汇总了图表类型,所有的图表,颜色都是默认的
(默认的都这么好看了!)
所有图表可以进行颜色修改、背景修改等等,色系都是可以选择的
让我们一起画出好看的图~~

你可能感兴趣的:(Python入门:数据可视化pygal)