1. 5行代碼搞定14種常見圖的python可視化庫,還自帶16種優(yōu)美主題,真是太喜歡了

        共 5985字,需瀏覽 12分鐘

         ·

        2021-07-10 12:50

        有時(shí)候我們做數(shù)據(jù)可視化并不需要特別復(fù)雜的功能,僅僅是想把簡單的數(shù)據(jù)用圖形展示出來

        今天就給大家介紹一種非常適合新手的python可視化庫--pygal

        pygal比較小眾,專注于SVG圖,擅長交互,最主要的是它能用非常少的代碼就可畫出非常漂亮的圖形

        pygal能繪制Line(折線圖)、Bar(柱狀圖)、Histogram(直方圖)、Pie(餅圖)、Radar(雷達(dá)圖)、Funnel(漏斗圖)、Gauge(儀表盤圖)等14種常見可視化圖

        而且自帶16種漂亮的主題,色調(diào)相當(dāng)柔和,感覺很適合我這樣細(xì)膩溫柔的人

        pygal的安裝比較簡單,直接在命令行輸入以下代碼即可:

        pip install pygal

        下面,我們依托某宿舍2020年各月生活費(fèi)花銷情況為例,對(duì)pygal繪制方法進(jìn)行介紹

        首先pandas讀取數(shù)據(jù):

        import pandas as pd
        data=pd.read_excel('生活費(fèi)開銷.xlsx')

        我想在jupyter上直接顯示pygal的圖形,需要?jiǎng)?chuàng)建html的基礎(chǔ)模板,你們可以拿去直接用:

        import pygal
        #設(shè)置pygal與jupyter notebook交互
        from IPython.display import display, HTML
        base_html = """
        <!DOCTYPE html>
        <html>
          <head>
          <script type="text/javascript" src="http://kozea.github.com/pygal.js/javascripts/svg.jquery.js"></script>
          <script type="text/javascript" src="https://kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js""></script>
          </head>
          <body>
            <figure>
              {rendered_chart}
            </figure>
          </body>
        </html>
        """

        下面進(jìn)入主題:

        1.pygal繪制折線圖(主題:DefaultStyle)

        from pygal.style import *
        people=data['人員'].unique()
        label=data['月份'].unique()
        line_chart = pygal.Line(style=DefaultStyle)
        line_chart.title = '520寢室2020年生活費(fèi)花銷情況'
        line_chart.x_labels = label
        for i in people:
            line_chart.add(i, data[data.人員==i]['花銷'].values.tolist())
        HTML(base_html.format(rendered_chart=line_chart.render(is_unicode=True)))#圖片渲染

        2.pygal繪制柱狀圖(主題:DarkStyle、NeonStyle)

        繪制豎狀柱狀圖

        from pygal.style import *
        people=data['人員'].unique()
        label=data['月份'].unique()
        line_chart = pygal.Bar(style=DarkStyle)
        line_chart.title = '520寢室2020年生活費(fèi)花銷情況'
        line_chart.x_labels = label
        for i in people:
            line_chart.add(i, data[data.人員==i]['花銷'].values.tolist())
        HTML(base_html.format(rendered_chart=line_chart.render(is_unicode=True)))#圖片渲染

        繪制橫狀柱狀圖

        from pygal.style import *
        people=data['人員'].unique()
        label=data['月份'].unique()
        line_chart = pygal.HorizontalBar(style=NeonStyle)
        line_chart.title = '520寢室2020年生活費(fèi)花銷情況'
        line_chart.x_labels = label
        for i in people:
            line_chart.add(i, data[data.人員==i]['花銷'].values.tolist())
        HTML(base_html.format(rendered_chart=line_chart.render(is_unicode=True)))#圖片渲染

        3.pygal繪制餅圖(主題:DarkSolarizedStyle)

        普通餅狀圖

        from pygal.style import *
        people=data['人員'].unique()
        label=data['月份'].unique()
        line_chart = pygal.Pie(style=DarkSolarizedStyle)
        line_chart.title = '520寢室2020年1月生活費(fèi)花銷情況'
        line_chart.x_labels = label
        for i in people:
            line_chart.add(i, data[(data.人員==i)&(data.月份=='1月')]['花銷'].values.tolist())
        HTML(base_html.format(rendered_chart=line_chart.render(is_unicode=True)))#圖片渲染

        圓環(huán)圖

        from pygal.style import *
        people=data['人員'].unique()
        label=data['月份'].unique()
        pie_chart = pygal.Pie(inner_radius=0.45,style=LightSolarizedStyle)
        pie_chart.title = '520寢室2020年1月生活費(fèi)花銷情況'
        for i in people:
            pie_chart.add(i, data[(data.人員==i)&(data.月份=='1月')]['花銷'].values.tolist()[0])
        HTML(base_html.format(rendered_chart=pie_chart.render(is_unicode=True)))#圖片渲染


        4.pygal繪制雷達(dá)圖(主題:LightStyle)

        from pygal.style import *
        people=data['人員'].unique()
        label=data['月份'].unique()
        radar_chart = pygal.Radar(style=LightStyle)
        radar_chart.title = '520寢室2020年生活費(fèi)花銷情況'
        radar_chart.x_labels = label
        for i in people:
            radar_chart.add(i, data[data.人員==i]['花銷'].values.tolist())
        HTML(base_html.format(rendered_chart=radar_chart.render(is_unicode=True)))#圖片渲染

        5.pygal繪制箱形圖(主題:CleanStyle)

        from pygal.style import *
        people=data['人員'].unique()
        label=data['月份'].unique()
        box_plot = pygal.Box(style=CleanStyle)
        box_plot.title = '520寢室2020年生活費(fèi)花銷情況'
        for i in people:
            box_plot.add(i, data[data.人員==i]['花銷'].values.tolist())
        HTML(base_html.format(rendered_chart=box_plot.render(is_unicode=True)))#圖片渲染


        6.pygal繪制散點(diǎn)圖(主題:RedBlueStyle)

        from pygal.style import *
        people=data['人員'].unique()
        label=data['月份'].unique()
        dot_chart = pygal.Dot(x_label_rotation=30,style=RedBlueStyle)
        dot_chart.title = '520寢室2020年生活費(fèi)花銷情況'
        dot_chart.x_labels=label
        for i in people:
            dot_chart.add(i, data[data.人員==i]['花銷'].values.tolist())
        HTML(base_html.format(rendered_chart=dot_chart.render(is_unicode=True)))#圖片渲染

        7.pygal繪制漏斗圖(主題:DarkColorizedStyle)

        from pygal.style import *
        people=data['人員'].unique()
        label=data['月份'].unique()
        funnel_chart = pygal.Funnel(style=DarkColorizedStyle)
        funnel_chart.title = '520寢室2020年生活費(fèi)花銷情況'
        funnel_chart.x_labels=label
        for i in people:
            funnel_chart.add(i, data[data.人員==i]['花銷'].values.tolist())
        HTML(base_html.format(rendered_chart=funnel_chart.render(is_unicode=True)))#圖片渲染


        8.pygal繪制儀表盤圖(主題:LightColorizedStyle)

        from pygal.style import *
        people=data['人員'].unique()
        label=data['月份'].unique()
        gauge_chart = pygal.Gauge(human_readable=True,style=LightColorizedStyle)
        gauge_chart.title = '520寢室2020年1月生活費(fèi)花銷情況'
        gauge_chart.range = [05000]
        for i in people:
            gauge_chart.add(i, data[(data.人員==i)&(data.月份=='1月')]['花銷'].values.tolist())
        HTML(base_html.format(rendered_chart=gauge_chart.render(is_unicode=True)))#圖片渲染

        細(xì)心的讀者可以發(fā)現(xiàn),pygal繪制圖形的套路基本都一樣,其核心的代碼也就5行代碼,可以說是一招打遍天下無敵手。

        文中代碼、數(shù)據(jù)以及pygal學(xué)習(xí)教程已打包完畢,請(qǐng)掃描下方二維碼在后臺(tái)回復(fù)“pygal”獲取

        瀏覽 34
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 一本色道久久综合精品竹菊 | 国产麻豆精品成人毛片 | 久久er| 国产精品人人爽人人做Av片眉药 | 一级片生活片 |