echars显示折点数据_数据可视化的基础语法
數據可視化的基礎語法
可視化主要是以圖像來展示數據間的關系,
常見的圖形種類有
- 折線圖,散點圖,條形圖,直方圖,餅圖。
- 此外在接下來課程中還會用到箱線圖,熱力圖,蜘蛛圖,表示二元變量分布和成對關系的視圖。
今天我們要來了解折線圖,散點圖,條形圖,直方圖,餅圖和其特點。認識Matplotlib的圖像結構,并以Matplotlib繪制折線圖為例來掌握設置輔助顯示層;此外,用Matplotlob設置輔助顯示層,內容還增添拓展部分,平時用到的不是很多,作為了解即可。
常見圖像
折線圖
- 以折線的上升或下降來表示統計數量的增減變化的統計圖特點:能夠顯示數據的變化趨勢,反映事物的變化情況。(變化)
散點圖(Scatter)
- 用兩組數據構成多個坐標點,考察坐標點的分布,判斷兩變量之間是否存在某種關聯或總結坐標點的分布模式。特點:判斷變量之間是否存在數量關聯趨勢,展示離群點(分布規律)
條形圖
- 排列在工作表的列或行中的數據可以繪制到柱狀圖中。特點:繪制連離散的數據,能夠一眼看出各個數據的大小,比較數據之間的差別。(統計/對比)
直方圖(Histogram)
- 由一系列高度不等的縱向條紋或線段表示數據分布的情況。一般用橫軸表示數據范圍,縱軸表示分布情況。特點:繪制連續性的數據展示一組或者多組數據的分布狀況(統計)
餅圖(pie)
- 用于表示不同分類的占比情況,通過弧度大小來對比各種分類。特點:分類數據的占比情況(占比)
Matplotlib畫圖基礎
Matplotlib,它是一個Python 2D繪圖庫,它可以在各種平臺上以各種硬拷貝格式和交互式環境生成出具有出版品質的圖形。只需幾行代碼即可生成繪圖,直方圖,條形圖,散點圖等。
Matplotlib畫圖的簡單實現
?# 導入模塊?import matplotlib.pyplot as plt?# 在jupyter中執行的時候顯示圖片?#matplotlib inline?# 傳入x和y, 通過plot畫圖?plt.plot([3, 1, 7], [4, 5, 6])?# 在執行程序的時候展示圖形?plt.show()
傳入x和y時,括號中的第一個列表是x軸上的值,第二個列表是y上的值。
運行結果:
如何應用呢?
對Matplotlib圖像結構的認識
在學習Matplotlib的過程中,大家一定會遇到這樣那樣的問題,
比如說,
- 背景圖怎么設置?
- 坐標軸怎么設置?
- 坐標軸上的刻度值怎么設置?因此對于Matplotlib的圖像結構組成我們要有一定的了解。通常情況下,我們可以將一副Matplotlib圖像分成三層結構:
Matplotlib繪制折線圖
折線圖的繪制
代碼解析:
x軸數值的產生使用range函數,開始數字是1,結束時7,不包含8。
折線的顏色和形狀設置
?from matplotlib import pyplot as plt?x = range(1,8) # x軸的位置?y = [17, 17, 18, 15, 11, 11, 13]?# 傳入x和y, 通過plot畫折線圖?plt.plot(x, y, color='red',alpha=0.5,linestyle='--',linewidth=3)?plt.show()??'''基礎屬性設置?color='red' : 折線的顏色?alpha=0.5 : 折線的透明度(0-1)?linestyle='--' : 折線的樣式?linewidth=3 : 折線的寬度?'''?'''線的樣式?- 實線(solid)?-- 短線(dashed)?-. 短點相間線(dashdot)?:虛點線(dotted)?'''運行結果:
折點樣式
折點形狀選擇:
?標記maker 描述??‘o’ 圓圈 ?‘.’ 點?‘D’ 菱形 ?‘s’ 正方形?‘h’ 六邊形1 ?‘*’ 星號?‘H’ 六邊形2 ?‘d’ 小菱形?‘_’ 水平線?‘v’ 一角朝下的三角形?‘8’ 八邊形?‘’ 一角朝右的三角形?‘,’ 像素 ?‘^’ 一角朝上的三角形?‘+’ 加號 ?‘ ‘ 豎線?‘None’,’’,’ ‘ 無 ?‘x’ X設置圖片的大小和保存
?from matplotlib import pyplot as plt?import random?x = range(2,20,2) # x軸的位置?y = [random.randint(15, 30) for i in x]?# 設置圖片的大小?'''?figsize:指定figure的寬和高,單位為英寸;?dpi參數指定繪圖對象的分辨率,即每英寸多少個像素,缺省值為80 1英寸等于2.5cm,A4紙是 21*30cm的紙張?'''?# 設置畫布對象?plt.figure(figsize=(20,8),dpi=80)?plt.plot(x,y) # 傳入x和y, 通過plot畫圖?# 保存(注意:要放在show的上面,plt.show()會釋放figure資源,如果在顯示圖像之后保存圖片將只能保存空圖片。)?plt.savefig('./t1.png')?#./表示放在當前python文件的目錄?plt.show()?# 圖片的格式也可以保存為svg這種矢量圖格式,這種矢量圖放在網頁中放大后不會有鋸齒?# plt.savefig('./t1.svg')x軸的數值,使用range(),step為2,不包括20;
y軸的數值是一個列表表達式,由隨機數產生,import random之后,randint產生隨機整數,范圍是15-30。“for i in x”是一個循環,作用是表明y軸數值產生隨機數的次數,次數由x軸上數值的個數決定。
運行結果:
繪制x軸和y軸的刻度
在設置Y軸標簽時,標簽數值的取值范圍range(min(y),max(y)+1),這里min()和max()時是函數,分別取y中的最小和最大值,由于range函數不包集合右邊的值,故加1。plt.yticks(range(min(y),max(y)+1),y_ticks_label)中,y_ticks_label表示y軸刻度產生的次數。
設置顯示中文
matplotlib只顯示英文,無法顯示中文,需要修改matplotlib的默認字體。通過模塊font_manager使用中文字體可以解決。
以表示兩個小時內心臟每分鐘跳動變化為例,x軸需要加上標題“時間”,y軸“次數”,圖像標題“每分鐘跳動次數”,如下圖所示:
一圖多線
拓展部分:一圖多個坐標系
?# 方法add_subplot:給figure新增子圖??# 這里引進的科學計算庫Numpy,把它看作一個[列表]即可,目的是要使用log方法畫log對數函數。?import numpy as np?from matplotlib import pyplot as plt?x = np.arange(1, 100) #與range()相同?#新建figure畫布對象,三個坐標軸(子圖)建立在同一個畫布上?fig=plt.figure(figsize=(20,10),dpi=80)??#利用畫布對象,在上面放置三個坐標系?#新建子圖1?ax1=fig.add_subplot(2,2,1)?ax1.plot(x, x)?#新建子圖2?ax2=fig.add_subplot(2,2,2)?ax2.plot(x, x ** 2) #x的二次方,如果是x**3是x的三次方?ax2.grid(color='r', linestyle='--', linewidth=1,alpha=0.3)?#新建子圖3?ax3=fig.add_subplot(2,2,3)?ax3.plot(x, np.log(x))?plt.show()在這里解釋一下add_subplot(2,2,1)里的參數的含義。在一個畫布上放置三個圖,需要排列位置。
首先將一張圖,分成兩列,再分成兩行,總共劃分出四個格子,子圖1按照從左到右從上到下的順序放在第一個格子里。
運行結果:
拓展部分:設置坐標軸范圍
打卡格式
小作業
- 1、說出你理解的五種常用圖像的特點,你有沒有地方需要用得到呢?。
- 2、運用Matplotlib,自己編數據設計樣式,繪制一幅自己的折線圖。
總結
以上是生活随笔為你收集整理的echars显示折点数据_数据可视化的基础语法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 耶鲁大学计算机科学录取,耶鲁大学计算机科
- 下一篇: python爬取网页有乱码怎么解决_Py