1. 程式人生 > >資料視覺化學習

資料視覺化學習

一.安裝目前最流行的包之一 matplotlib

1.繪製簡單的折線圖

 
  
  
import matplotlib.pyplot as plt

input_values = [1, 2, 3, 4, 5, 6, 7, 8]
squares = [1, 4, 9, 16, 25, 36, 49, 64]
#linewidth線條粗細
plt.plot(input_values, squares, linewidth=5)

#設定圖示標題,fontproperties字型變數
plt.title("平方數圖形",fontproperties='SimHei', fontsize=14)
#給x軸設定標題 plt.xlabel("數字", fontproperties='SimHei',fontsize=14) #給y軸設定標題 plt.ylabel("數的平方", fontproperties='SimHei',fontsize=14) #設定刻度標記的大小 plt.tick_params(axis='both', labelsize=14) plt.show()

執行之後

2.繪製散點圖

import matplotlib.pyplot as plt

#x軸是一個列表
x_values = list(range(1, 1001))
#y軸用x的值遍歷之後平方
y_values = [x**2 for x in x_values] #使用scatter函式生成散點圖,引數c設定要使用的顏色 plt.scatter(x_values, y_values, c='blue', edgecolor='none', s=40) plt.title("平方數圖形",fontproperties='SimHei',fontsize=10) plt.xlabel("數字", fontproperties='SimHei',fontsize=10) plt.ylabel("數的平方", fontproperties='SimHei',fontsize=10) # 設定刻度標記
plt.tick_params(axis='both', which='major', labelsize=14) # 設定x,y軸的座標範圍 plt.axis([0, 1100, 0, 1100000]) plt.show()

如果要儲存圖表可以將

plt.show( )改為  plt.savefig('shu.png',bbox_inches='tight')

 

 

3.隨機漫步

隨機漫步是又一系列隨機決策決定的,模擬隨機漫步要先建立RandomWalk( )類

from random import choice


class RandomWalk():
    
    
    def __init__(self, num_points=5000):
        #設定5000個隨機點
        self.num_points = num_points
        
        # 所有隨機點都是從(0,0)開始.
        self.x_values = [0]
        self.y_values = [0]

    def fill_walk(self):
        #判斷x軸有沒有到達設定的長度
        while len(self.x_values) < self.num_points:
            
            #判斷隨機點的發現是前進還是後退
            x_direction = choice([1, -1])
            #每一次走多遠,隨機產生一個
            x_distance = choice([0, 1, 2, 3, 4])
            #x軸移動距離
            x_step = x_direction * x_distance
            
            y_direction = choice([1, -1])
            y_distance = choice([0, 1, 2, 3, 4])
            y_step = y_direction * y_distance
            
            # 判斷是否原地不動
            if x_step == 0 and y_step == 0:
                continue
            
            # 計算下一個點
            next_x = self.x_values[-1] + x_step
            next_y = self.y_values[-1] + y_step
            #將下一個點新增到列表x_values,y_values後面
            self.x_values.append(next_x)
            self.y_values.append(next_y)

下面將隨機慢點所有的點都繪製出來

from random_walk import RandomWalk
import matplotlib.pyplot as plt

rw=RandomWalk() rw.fill_walk() plt.scatter(rw.x_values,rw.y_values,s=10) plt.show()