版權聲明:本文爲博主原創文章,允許轉載,請標明出處。 https://blog.csdn.net/qwdafedv/article/details/82721452
測試數據 unrate.csv
plot
import matplotlib.pyplot as plt # 使用不同的pyplot函數,我們可以創建、定製和顯示一個plot。例如,我們可以使用兩個函數 plt.plot() plt.show()
import matplotlib.pyplot as plt import pandas as pd # 使用不同的pyplot函數,我們可以創建、定製和顯示一個plot。例如,我們可以使用兩個函數 unrate = pd.read_csv('unrate.csv') first_twelve = unrate[0:12] plt.plot(first_twelve['DATE'], first_twelve['VALUE']) plt.show()
xticks
import matplotlib.pyplot as plt import pandas as pd # 使用不同的pyplot函數,我們可以創建、定製和顯示一個plot。例如,我們可以使用兩個函數 unrate = pd.read_csv('unrate.csv') first_twelve = unrate[0:12] plt.plot(first_twelve['DATE'], first_twelve['VALUE']) # 雖然y軸看起來不錯,但x軸標記標籤太過接近,無法閱讀 # 我們可以旋轉x軸刻度標籤90度,這樣它們就不會重疊 # 我們可以使用浮點數或整數值來指定旋轉的程度 # rotation 指定x軸標籤的角度 plt.xticks(rotation=45) plt.show()
xlabel/ylabel/title
import matplotlib.pyplot as plt import pandas as pd # 使用不同的pyplot函數,我們可以創建、定製和顯示一個plot。例如,我們可以使用兩個函數 unrate = pd.read_csv('unrate.csv') first_twelve = unrate[0:12] plt.plot(first_twelve['DATE'], first_twelve['VALUE']) # 雖然y軸看起來不錯,但x軸標記標籤太過接近,無法閱讀 # 我們可以旋轉x軸刻度標籤90度,這樣它們就不會重疊 # 我們可以使用浮點數或整數值來指定旋轉的程度 # rotation 指定x軸標籤的角度 plt.xticks(rotation=90) # xlabel(): 接受一個字符串值,該值被設置爲x軸標籤 plt.xlabel('Month') # ylabel(): 接受一個字符串值,該值被設置爲y軸標籤 plt.ylabel('Unemployment Rate') # title(): 接受一個字符串值,該值被設置爲plot標題 plt.title('Monthly Unemployment Trends, 1948') plt.show()
add_subplot
import matplotlib.pyplot as plt # figure 創建一個新圖形 fig = plt.figure() # add_subplot(first,second,index) first表示行數,second表示列數 ax1 = fig.add_subplot(3, 2, 1) ax2 = fig.add_subplot(3, 2, 2) ax2 = fig.add_subplot(3, 2, 6) plt.show()
import matplotlib.pyplot as plt import numpy as np # figure 創建一個新圖形 # figsize 寬度,高度以英寸爲單位。如果沒有提供,默認爲rc圖形 fig = plt.figure(figsize=(3, 3)) # add_subplot(first,second,index) first表示行數,second表示列數 ax1 = fig.add_subplot(2, 1, 1) ax2 = fig.add_subplot(2, 1, 2) # 隨機值 ax1.plot(np.random.randint(1, 5, 5), np.arange(5)) ax2.plot(np.arange(10) * 3, np.arange(10)) plt.show()
figure上添加多個plot
import matplotlib.pyplot as plt import pandas as pd unrate = pd.read_csv('unrate.csv') # 將DATE列轉爲日期格式 unrate['DATE'] = pd.to_datetime(unrate['DATE']) unrate['MONTH'] = unrate['DATE'].dt.month fig = plt.figure(figsize=(6, 3)) # 在figure上添加兩條線段 plt.plot(unrate[0:12]['MONTH'], unrate[0:12]['VALUE'], c='red') plt.plot(unrate[12:24]['MONTH'], unrate[12:24]['VALUE'], c='blue') plt.show()
import matplotlib.pyplot as plt import pandas as pd unrate = pd.read_csv('unrate.csv') # 將DATE列轉爲日期格式 unrate['DATE'] = pd.to_datetime(unrate['DATE']) unrate['MONTH'] = unrate['DATE'].dt.month fig = plt.figure(figsize=(10, 6)) colors = ['red', 'blue', 'green', 'orange', 'black'] # 五年的數據線段對比 for i in range(5): start_index = i * 12 end_index = (i + 1) * 12 subset = unrate[start_index:end_index] plt.plot(subset['MONTH'], subset['VALUE'], c=colors[i]) plt.show()
import matplotlib.pyplot as plt import pandas as pd unrate = pd.read_csv('unrate.csv') # 將DATE列轉爲日期格式 unrate['DATE'] = pd.to_datetime(unrate['DATE']) unrate['MONTH'] = unrate['DATE'].dt.month fig = plt.figure(figsize=(10, 6)) colors = ['red', 'blue', 'green', 'orange', 'black'] for i in range(5): start_index = i * 12 end_index = (i + 1) * 12 subset = unrate[start_index:end_index] label = str(1948 + i) plt.plot(subset['MONTH'], subset['VALUE'], c=colors[i], label=label) plt.legend(loc='best') plt.show()
其中,plt.legend(loc=’best’),loc參數定義的是標籤框的放置位置
import matplotlib.pyplot as plt import pandas as pd unrate = pd.read_csv('unrate.csv') # 將DATE列轉爲日期格式 unrate['DATE'] = pd.to_datetime(unrate['DATE']) unrate['MONTH'] = unrate['DATE'].dt.month fig = plt.figure(figsize=(10, 6)) colors = ['red', 'blue', 'green', 'orange', 'black'] for i in range(5): start_index = i * 12 end_index = (i + 1) * 12 subset = unrate[start_index:end_index] label = str(1948 + i) plt.plot(subset['MONTH'], subset['VALUE'], c=colors[i], label=label) plt.legend(loc='upper left') plt.xlabel('Month, Integer') plt.ylabel('Unemployment Rate, Percent') plt.title('Monthly Unemployment Trends, 1948-1952') plt.show()