Python如何实现数据可视化
1:安裝 Matplotlib
在Linux系統中安裝matplotlib
Ubuntu17.10內置Python2版本和Python3版本,可以采用下面的方式安裝Matplotlib
如果你使用的是Python 2.7,執行如下命令:
如果你安裝了pip 就可以使用下面的方式安裝:
如果你的安裝比較慢,可以嘗試這種方式來安裝:
常用的國內源地址有:
--------------------------------------------------------------- 注:我這有個學習基地,里面有很多學習資料,感興趣的+Q群:895817687 --------------------------------------------------------------- 阿里云 http://mirrors.aliyun.com/pypi/simple/ 豆瓣(douban) http://pypi.douban.com/simple/ 清華大學 https://pypi.tuna.tsinghua.edu.cn/simple/ 中國科學技術大學 http://pypi.mirrors.ustc.edu.cn/simple/測試matplotlib
#如何沒有問題就是安裝成功了 >>>import matplotlib >>>繪制簡單的折線圖
下面來使用 matplotlib 繪制一個簡單的折線圖,再對其進行定制,以實現信息更豐富的數據可視化。我們將使用平方數序列 1 、 4 、 9 、 16 和 25 來繪制折線圖。
import matplotlib.pyplot as plt squares = [1, 4, 9, 16, 25] plt.plot(squares) plt.show()plt.show() # 打開 matplotlib 查看器,并顯示繪制的圖形。
修改標簽文字和線條粗細
圖形表明數字是越來越大的,但標簽文字太小,線條太細。所幸 matplotlib 讓你能夠調整可視化的各個方面。
import matplotlib.pyplot as plt squares = [1, 4, 9, 16, 25] plt.plot(squares, linewidth=5) # 設置圖表標題,并給坐標軸加上標簽 plt.title("Square Numbers", fontsize=24) plt.xlabel("Value", fontsize=14) plt.ylabel("Square of Value", fontsize=14) # 設置刻度標記的大小 plt.tick_params(axis='both', labelsize=14) plt.show()
校正圖形
圖形更容易閱讀后,我們發現沒有正確地繪制數據:折線圖的終點指出 4.0 的平方為 25 !下 面來修復這個問題。
import matplotlib.pyplot as plt input_values = [1, 2, 3, 4, 5] squares = [1, 4, 9, 16, 25] plt.plot(input_values, squares, linewidth=5) # 設置圖表標題,并給坐標軸加上標簽 plt.title("Square Numbers", fontsize=24) plt.xlabel("Value", fontsize=14) plt.ylabel("Square of Value", fontsize=14) # 設置刻度標記的大小 plt.tick_params(axis='both', labelsize=14) plt.show()
使用scatter()繪制散點圖并設置其樣式
有時候,需要繪制散點圖并設置各個數據點的樣式。要繪制單個點,可使用函數 scatter() ,并向它傳遞一對 x 和 y 坐標,它將在指定位置繪制一 個點:
import matplotlib.pyplot as plt plt.scatter(2, 4) plt.show()
下面來設置輸出的樣式,使其更有趣:添加標題,給軸加上標簽,并確保所有文本都大到能夠看清:`在這里插入代碼片
使用scatter()繪制一系列點
要繪制一系列的點,可向 scatter() 傳遞兩個分別包含 x 值和 y 值的列表,如下所示:
import matplotlib.pyplot as plt x_values = [1, 2, 3, 4, 5] y_values = [1, 4, 9, 16, 25] plt.scatter(x_values, y_values, s=100) # 設置圖表標題并給坐標軸加上標簽 plt.title("Square Numbers", fontsize=24) plt.xlabel("Value", fontsize=14) plt.ylabel("Square of Value", fontsize=14) # 設置刻度標記的大小 plt.tick_params(axis='both', which='major', labelsize=14) plt.show()
自動計算數據
手工計算列表要包含的值可能效率低下,需要繪制的點很多時尤其如此。
import matplotlib.pyplot as plt x_values = list(range(1, 1001)) y_values = [x**2 for x in x_values] plt.scatter(x_values, y_values, s=40) # 設置每個坐標軸的取值范圍 plt.axis([0, 1100, 0, 1100000]) plt.show() matplotlib允許你給散點圖中的各個點指定顏色。 默認為藍色點和黑色輪廓,在散點圖包含的數據點不多時效果很好。 但繪制很多點時,黑色輪廓可能會粘連在一起。 要刪除數據點的輪廓,可在調用scatter()時傳遞實參edgecolor='none':自定義顏色
要修改數據點的顏色,可向scatter()傳遞參數c,并將其設置為要使用的顏色的名稱,如下所示:
plt.scatter(x_values, y_values, c='red', edgecolor='none', s=40)
使用RGB顏色模式自定義顏色。
(0, 0, 0.8) 它們分別表示紅色、綠色和藍色分量。值越接近0,指定的顏色越深,值越接近1,指定的顏色越淺。
使用顏色映射
顏色映射(colormap)是一系列顏色,它們從起始顏色漸變到結束顏色。在可視化中,顏色映射用于突出數據的規律,例如,你可能用較淺的顏色來顯示較小的值,并使用較深的顏色來顯示較大的值。
import matplotlib.pyplot as plt x_values = list(range(1001)) y_values = [x**2 for x in x_values] plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, edgecolor='none', s=40)
這些代碼將y值較小的點顯示為淺藍色,并將y值較大的點顯示為深藍色。
自動保存圖表
plt.savefig('squares_plot.png', bbox_inches='tight')繪制隨機漫步圖
下面的代碼將隨機漫步的所有點都繪制出來:
import matplotlib.pyplot as plt from random_walk import RandomWalk # 創建一個RandomWalk實例,并將其包含的點都繪制出來 rw = RandomWalk() rw.fill_walk() plt.scatter(rw.x_values, rw.y_values, s=15) plt.show()總結
以上是生活随笔為你收集整理的Python如何实现数据可视化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 骚操作,微信远程控制电脑
- 下一篇: Python数据可视化词云展示周董的歌