# pyplot import matplotlib.pyplot as plt import numpy as np import seaborn as sns import pandas as pd x_point = np.array([0,6]) y_point = np.array([0,100]) plt.plot(x_point,y_point,'b-.v') # 格式處理 plt.show() x = np.arange(0,4*np.pi, 0.1) y = np.sin(x) z = np.cos(x) plt.plot (x,y,x,z) # 函式繪圖, 繪製多條線 plt.show() # 座標點的格式設定,“標記” maker引數: 標記形狀, ypoints = np.array([1,3,4,5,8,9,6,1,3,4,5,2,4]) plt.plot(ypoints, marker = 0, ms = 20, mec = 'r') # 還有fmt引數:端點形狀,線形,顏色 plt.show() # 標記:端點格式, 還可以 定義大小ms,內部顏色mfc,邊框顏色 mec , 顏色取值:r 或者#4CAF50 # 繪圖線格式:型別,顏色 ,大小 # plot引數:linestyle ls color 線形值:‘-.’ dotted color c 值:r HTML顏色值 # 寬度: linewidth lw 值: # 多條線 x1 = np.array([0, 1, 2, 3]) y1 = np.array([3, 7, 5, 9]) x2 = np.array([0, 1, 2, 3]) y2 = np.array([6, 2, 13, 10]) plt.subplot(1, 2, 1) # 切分畫布為2個圖表 plt.plot(x1, y1, x2, y2) plt.xlabel("X axis",loc = "left") plt.ylabel("Y axis") plt.title("title for sample") plt.grid(axis= 'x', ls = '-.') plt.show() # 軸標籤內容,格式 和標題 xlable方法 ''' 字型大小:fontproperties 自定義樣式:fortdict 定位:loc 值:left right center ''' ''' 網格線:plt.grid() 網格線方向:axis1 color , ls lw b = ture 開關 ''' ''' 繪製多個子圖: subplot方法切分畫布 subplots; 引數:sharex subplot_kw:傳入格式引數 ''' x = np.linspace(0, 2*np.pi, 400) y = np.sin(x**2) fig, axs = plt.subplots(2, 2, subplot_kw=dict(projection="polar")) axs[0, 0].plot(x, y) axs[1, 1].scatter(x, y) plt.show() # 散點圖 ''' 資料:x y 一維序列,陣列 格式:s c , marker norm/alpha lw 2個散點圖疊加顯示,不同的顏色點。 顏色條功能:cmap 值0-100 多種可選 ''' x = np.array([1, 2, 3, 4, 5, 6, 7, 8]) y = np.array([1, 4, 9, 16, 7, 11, 23, 18]) colors = np.array(["red","green","black","orange","purple","beige","cyan","magenta"]) sizes = np.array([20,50,100,200,500,1000,60,90]) plt.scatter(x, y, c=colors, s= sizes) N = 10 x = np.random.rand(N) y = np.random.rand(N) colors = np.random.rand(N) area = (30 * np.random.rand(N))**2 # 0 to 15 point radii # plt.scatter(x, y, s=area, c=colors, alpha=0.5) # 第2個圖 plt.scatter(x, y, s=area, c=colors, alpha=0.5 , cmap='viridis') # 第2個圖 plt.colorbar() # 顯示顏色條 plt.show() ''' bar pie hist imshow: 熱力圖,矩陣,地圖 imsave 儲存影像 imread 讀取影像 ''' ''' seanborn: 主題: 深色網格 set_theme(style , context) 模板:標籤 線條格式 繪圖函式: scatterplot() lineplot barplot heatmap ''' sns.set_theme(style="darkgrid", palette="pastel") products = ["Product A", "Product B", "Product C", "Product D"] sales = [120, 210, 150, 180] sns.barplot(x=products, y=sales) plt.show() data = {'Category': ['A', 'B', 'C'], 'Value': [3, 7, 5]} df = pd.DataFrame(data) # dataframe sns.barplot(x='Category', y='Value', data=df) plt.show()
圖例