美文网首页
Python入门:数据可视化pygal

Python入门:数据可视化pygal

作者: 洋阳酱 | 来源:发表于2019-05-21 14:04 被阅读0次

    如果你有基础,英语也凑合,那直接看官网就好
    官网链接: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

          本文链接:https://www.haomeiwen.com/subject/rdtjzqtx.html