1. 程式人生 > >Python讓你的資料生成視覺化圖形

Python讓你的資料生成視覺化圖形

今天就用 pyecharts 庫來畫圖。

安裝:最簡單快速的命令安裝方法:

pip install pyecharts

柱形圖

柱形圖簡明、醒目,是一種常用的統計圖形。以下生成的圖都可以點選 html 檔案開啟,點選圖形右邊下載按鈕可以下載到本地。

from pyecharts import Bar

bar = Bar("成績柱形圖", "副標題")
# 用於新增圖表的資料和設定各種配置項  
# is_more_utils=True可以按右邊的下載按鈕將圖片下載到本地

bar.add("成績表", ["語文", "數學", "英語", "物理", "化學", "生物"], [88, 90, 92, 87, 83, 81], is_more_utils=True)
bar.show_config()    # 列印輸出圖表的所有配置項
bar.render('D:\\pye\\bar.html')         # 在指定目錄下生成一個 bar.html 的檔案

餅圖

餅圖英文學名為 Sector Graph, 又名 Pie Graph,常用於統計學模組。

from pyecharts import Pie


attr = ["語文", "數學", "英語", "物理", "化學", "生物"]
score = [20, 30, 40, 25, 10, 15]
pie = Pie('圖書銷量餅圖')
pie.add('', attr, score, is_label_show=True)
pie.render('F:\\pye\\pie.html')

圓環圖

僅排列在工作表的列或行中的資料可以繪製到圓環圖中。

from pyecharts import Pie


attr = ["語文", "數學", "英語", "物理", "化學", "生物"]
score = [20, 30, 40, 25, 10, 15]
pie = Pie('圖書銷量圓環圖', title_pos='center')
pie.add('', attr, score, radius=[40, 75], label_text_color=None, is_label_show=True,
        legend_orient='vertical', legend_pos='left')
pie.render('F:\\pye\\pieround.html')   # 在指定目錄下生成檔案

3D散點圖

散點圖是指在迴歸分析中,資料點在直角座標系平面上的分佈圖,散點圖表示因變數隨自變數而變化的大致趨勢,據此可以選擇合適的函式對資料點進行擬合。

from pyecharts import Scatter3D
from pyecharts import Page
import random


page = Page()
data = [[random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80)]
range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
               '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
scatter3D = Scatter3D("3D 散點圖示例", width=1200, height=600)
scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)
page.add(scatter3D)  
page.render('D:\\pye\\scatter.html')    # 在指定目錄下生成檔案

3D折線圖

折線圖是排列在工作表的列或行中的資料可以繪製到折線圖中。折線圖可以顯示隨時間(根據常用比例設定)而變化的連續資料,因此非常適用於顯示在相等時間間隔下資料的趨勢。

from pyecharts import Line3D

data = [[1, 2, 3, 4], [1, 2, 3, 4], [0, 4, 8, 16]]
Line3D = Line3D("3D 折線圖示例", width=1200, height=600)
Line3D.add("", data, is_visualmap=True)
Line3D.render('F:\\pye\\3D折線圖.html')    # 在指定目錄下生成檔案

儀表盤

儀表盤圖的效果如下圖所示,圖中指標指向的位置是當前的數值。

from pyecharts import Gauge

gauge = Gauge('專案完成進度')
gauge.add('進度表', '完成率', 88.88)
gauge.render('F:\\pye\\gauge.html')    # 在指定目錄下生成檔案

漏斗圖

漏斗圖這種方法起源於作業管理領域。

from pyecharts import Funnel

attr = ['認知', '瞭解', '認可', '考慮', '意向', '購買']
value = [120, 100, 80, 60, 40, 20]
funnel = Funnel('客戶購買分析圖')
funnel.add('買車', attr, value, is_label_show=True, label_pos='inside', label_text_color='#fff')
funnel.render('F:\\pye\\funel.html')    # 在指定目錄下生成檔案

地圖

以下資料是模擬的資料,為了畫圖展示用的,沒有參考價值。

特別註明,中國地圖在echarts-countries-pypkg裡。需要這些地圖的朋友,可以裝pip命令列:

$ pip install echarts-countries-pypkg
$ pip install echarts-china-provinces-pypkg
$ pip install echarts-china-cities-pypkg
$ pip install echarts-china-counties-pypkg
$ pip install echarts-china-misc-pypk
from pyecharts import Geo

data = [
    ("上海", 25), ("北京", 36), ("武漢", 23), ("舟山", 12), ("齊齊哈爾", 14), ("鹽城", 15),
    ("赤峰", 16), ("青島", 18), ("乳山", 18), ("金昌", 19), ("泉州", 21), ("萊西", 21),
    ("日照", 21), ("膠南", 22), ("南通", 23), ("拉薩", 24), ("雲浮", 24), ("梅州", 25)]
geo = Geo('主要城市空氣質量', 'PM2.5', title_color='#fff', title_pos='center',
          width=1200, height=600, background_color='#404a59')
attr, value = geo.cast(data)
geo.add('', attr, value, visual_range=[0, 200], visual_text_color='#fff', symbol_size=15,
        is_visualmap=True, is_piecewise=True, visual_split_number=6)
geo.render('F:\\pye\\geo.html')    # 在指定目錄下生成檔案

詞雲圖

還記得上次我們用 wordcloud 庫畫的微信朋友簽名詞雲和搖滾歌手歌詞的詞雲圖吧,用 pyecharts 庫也可以畫出來。我們以 IEEE Spectrum 釋出的 2018 年度頂級程式語言排行榜作為資料來製作詞雲圖。

from pyecharts import WordCloud

language = ['Python', 'C++', 'C', 'Java', 'C#', 'PHP', 'R', 'JavaScript', 'Go', 'Assembly']
rank = [100, 98.4, 98.2, 97.5, 89.8, 85.4, 83.3, 82.8, 76.7, 74.5]
wordcloud = WordCloud(width=1500, height=700)
wordcloud.add('', language, rank, word_size_range=[20, 100])
wordcloud.render('F:\\pye\\wc.html')    # 在指定目錄下生成檔案

水球圖

水球圖是一種適合於展現單個百分比資料的圖表型別。

from pyecharts import Liquid

liquid = Liquid("水球圖")
liquid.add("Liquid", [0.8])
liquid.show_config()
liquid.render('F:\\pye\\sq.html')    # 在指定目錄下生成檔案

還有其他圖就不一一列舉了,有興趣的請移步 http://pyecharts.org

此文章對你有點幫忙的話希望大家能多給點支援,該關注關注,該點贊點贊,該轉發轉發,有什麼問題歡迎在後臺聯系我,也可以在後臺加入技術交流群,群裡有大神,可以一起交流學習。