如果你有基础,英语也凑合,那直接看官网就好
官网链接: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
解释一下这个代码:
- 把
pygal
这个模块导入,import
进来 - 建立一个柱状图,关键词是
Bar
。这个图定义为bar_chart
,这个名称你可以随意换,但是pygal.Bar()
这部分你不准动 - 用
add
添加数据,为'Fibonacci'
添加数据,这个内容你也可以随便改 - 把得到的图像保存为
svg
格式,存到当前的目录下面(就是和你代码在一个目录下面),保存的文件名就是ar_chart.svg
,这个名字你也可以随便改 - 如果你想保存一个
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 |
|
Horizontal Line |
|
Stacked |
|
Time |
|
None values |
|
Bar | 图表 |
---|---|
Basic |
|
Stacked |
|
Horizontal |
|
Histogram | 图表 |
---|---|
Basic |
|
XY | 图表 |
---|---|
Basic |
|
Scatter Plot |
|
Dates |
|
None values | 参考Line部分 |
Pie | 图表 |
---|---|
Basic |
|
Multi-series pie |
|
Donut |
|
Half pie |
|
Radar | 图表 |
---|---|
Basic |
|
Box | 图表 |
---|---|
Extremes (default) |
|
1.5 interquartile range |
|
Tukey |
|
Standard deviation |
|
Population standard deviation |
|
Dot | 图表 |
---|---|
Basic |
|
Negative |
|
Funnel | 图表 |
---|---|
Basic |
|
SolidGauge | 图表 |
---|---|
Normal |
|
Half |
|
Gauge | 图表 |
---|---|
Basic |
|
Pyramid | 图表 |
---|---|
Basic |
|
Treemap | 图表 |
---|---|
Basic |
|
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 |
|
French map |
|
Swiss map |
|
最后
这里只汇总了图表类型,所有的图表,颜色都是默认的
(默认的都这么好看了!)
所有图表可以进行颜色修改、背景修改等等,色系都是可以选择的
让我们一起画出好看的图~~