天天看點

7 matplotlib繪圖和Pygal可視化7.1matplotlib的安裝和測試7.2繪制基本圖形的指令7.3設定圖像格式7.4 Pygal的安裝7.5可視化直方圖

7 matplotlib繪圖和Pygal可視化

  • 7.1matplotlib的安裝和測試
  • 7.2繪制基本圖形的指令
    • 7.2.1折線圖
    • 7.2.2散點圖
  • 7.3設定圖像格式
  • 7.4 Pygal的安裝
  • 7.5可視化直方圖
    • 7.5.1直方圖

7.1matplotlib的安裝和測試

安裝----- 在cmd中把路徑調整到python的安裝目錄(D:可以跳轉磁盤區,cd python可以跳轉到python的檔案夾),然後輸入python -m pip install matplotlib即可安裝最新版本的matplotlib。

測試----- cmd跳轉到python檔案夾,輸入import matplotlib 無錯誤即安裝成功。

7.2繪制基本圖形的指令

在使用前必須導入:[in1]import matplotlib [in2]import matplotlib.pyplot兩個包,代碼最後通過matplotlib.pyplot.show()顯示圖像。

7.2.1折線圖

折線圖基礎指令----- matplotlib.pyplot.plot(X坐标數組,Y坐标數組,其它屬性=……)

例如:繪制平方曲線圖

#繪制平方曲線
import matplotlib
import matplotlib.pyplot
value_x=list(range(1,100))
value_y=[x**2 for x in value_x]
matplotlib.pyplot.plot(value_x,value_y)
scat_value_x=list(range(20,100,20))
scat_value_y=[x**2 for x in scat_value_x]
matplotlib.pyplot.scatter(scat_value_x,scat_value_y)
matplotlib.pyplot.title("y=sqrt(x)",fontsize=15)
matplotlib.pyplot.xlabel("x",fontsize=15)
matplotlib.pyplot.ylabel("y",fontsize=15)
matplotlib.pyplot.tick_params(axis='both',labelsize=10)
matplotlib.pyplot.axis([0,110,0,11000])
matplotlib.pyplot.show()

           

結果為:

7 matplotlib繪圖和Pygal可視化7.1matplotlib的安裝和測試7.2繪制基本圖形的指令7.3設定圖像格式7.4 Pygal的安裝7.5可視化直方圖

7.2.2散點圖

散點圖基礎指令----- matplotlib.pyplot.scatter(X坐标數組,Y坐标數組,其它屬性=…….)

繪制随機漫步圖:

#經典的随機漫步圖
import matplotlib
import matplotlib.pyplot as plt
from random import choice

class RandomWalk():
    def __init__(self,num_points=20000):
        self.num_points=num_points
        self.x_value=[0]
        self.y_value=[0]
    def fill_walk(self):
        while len(self.x_value)<self.num_points:
            x_dir=choice([-1,1])
            y_dir=choice([-1,1])
            x_dis=choice([0,1,2,3,4,5])
            y_dis=choice([0,1,2,3,4,5])
            x_step=x_dir*x_dis
            y_step=y_dir*y_dis
            if x_step==0 and y_step==0:
                continue
            next_x=self.x_value[-1]+x_step  #數值-1表示通路倒數第一個元素
            next_y=self.y_value[-1]+y_step
            self.x_value.append(next_x)
            self.y_value.append(next_y)

while True:
    rw = RandomWalk()
    rw.fill_walk()
    point_numbers = list(range(rw.num_points))
    plt.figure(figsize=(10, 6))
    #c表示顔色,c=數組表示顔色都不相同  
    # plt.scatter(rw.x_value, rw.y_value, c=point_numbers,cmap=matplotlib.cm.Greys,edgecolor='none', s=1)
    plt.scatter(rw.x_value, rw.y_value, c=point_numbers,edgecolor='none', s=1)
    plt.show()
    keepruning=input("繼續輸出嗎?(y/n)")
    if keepruning=='n':
        break

           

輸出結果為:

7 matplotlib繪圖和Pygal可視化7.1matplotlib的安裝和測試7.2繪制基本圖形的指令7.3設定圖像格式7.4 Pygal的安裝7.5可視化直方圖

7.3設定圖像格式

更改字型----- matplotlib.pyplot.rc(‘font’,family=‘Times New Roman’)

設定标題----- matplotlib.pyplot.title(“标題名”,fontsize=int)

設定X軸标題----- matplotlib.pyplot.xlabel(“X軸标題”,fontsize=int)

設定Y軸标題----- matplotlib.pyplot.ylabel(“X軸标題”,fontsize=int)

設定坐标軸刻度大小------ matplotlib.pyplot.tick_params(axis=‘both’,labelsize=int) 其中axis可以指派為’x’、'y’和’both’三種

設定坐标軸的範圍----- matplotlib.pyplot.axis([xmin,xmax,ymin,ymax])

儲存圖檔----- matplotlib.pyplot.savefig(‘檔案名.png’, bbox_inches=‘tight’)

隐藏坐标軸----- matplotlib.axes.get_xaxis().set_visible(False)

設定圖檔長寬比----- matplotlib.pyplot.figure(figsize=(int,int))這個指令最好放在繪圖的前面

7.4 Pygal的安裝

安裝----- 在cmd中把路徑調整到python的安裝目錄(D:可以跳轉磁盤區,cd python可以跳轉到python的檔案夾),輸入pip install pygal即可。

測試----- cmd跳轉到python檔案夾,輸入import pygal無誤即安裝成功。

7.5可視化直方圖

7.5.1直方圖

import pygal
line_chart = pygal.Bar()
line_chart.title = 'Browser usage evolution (in %)'
line_chart.x_labels = map(str, range(2002, 2013))
line_chart.add('Firefox', [None, None, 0, 16.6,   25,   31, 36.4, 45.5, 46.3, 42.8, 37.1])
line_chart.add('Chrome',  [None, None, None, None, None, None,    0,  3.9, 10.8, 23.8, 35.3])
line_chart.add('IE',      [85.8, 84.6, 84.7, 74.5,   66, 58.6, 54.7, 44.8, 36.2, 26.6, 20.1])
line_chart.add('Others',  [14.2, 15.4, 15.3,  8.9,    9, 10.4,  8.9,  5.8,  6.7,  6.8,  7.5])
line_chart.render_to_file('test.svg')
           

輸出結果:

7 matplotlib繪圖和Pygal可視化7.1matplotlib的安裝和測試7.2繪制基本圖形的指令7.3設定圖像格式7.4 Pygal的安裝7.5可視化直方圖