ps:畫完圖後要用plt.show()纔會顯示出圖來哦!
1.中文和負號支持
# 用來正常顯示負號
plt.rcParams['axes.unicode_minus']=False
# 用來正常顯示中文標籤
plt.rcParams['font.sans-serif'] = ['SimHei']
# 用來正常顯示負號
plt.rcParams['axes.unicode_minus'] = False
2.設置圖標題和x,y軸的座標名稱
plt.title("我是標題")
plt.xlabel("我是橫座標")
plt.ylabel("我是縱座標")
3.設置x,y軸的長度,範圍
#設置座標範圍axis([xmin,xmax,ymin,ymax])
plt.axis([0, 6, -1, 1])
#設置橫座標長度
plt.xlim(0, 5)
#設置縱座標長度
plt.ylim(0,1)
4.簡單的示例
x = np.arange(1,len(df.size())+1)
y = df.size()
plt.plot(x,y)
5.設置圖片的顯示大小以及保存圖片
a.plot()
.......
plt.rcParams['savefig.dpi'] = 300 #圖片像素
plt.rcParams['figure.dpi'] = 300 #分辨率
# 默認的像素:[6.0,4.0],分辨率爲100,圖片尺寸爲 600&400
# 指定dpi=200,圖片尺寸爲 1200*800
# 指定dpi=300,圖片尺寸爲 1800*1200
plt.savefig("./my_picture.png",dpi=300)
#保存圖片
......
plt.show()
6.座標軸設置
#設置座標軸的刻度垂直顯示,並設置字體大小爲4
plt.xticks(rotation='vertical',fontsize=4)
7.設置座標軸旋轉角度(逆時針)
#x軸逆時針旋轉90度
plt.xticks(rotation=90)
#若爲負數,則是順時針旋轉
7.設置橫座標顯示時間的刻度範圍
import matplotlib.dates as mdates
...
#設置橫座標顯示時間的刻度範圍
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))
8.設置橫縱座標顯示數值爲百分比
from matplotlib.ticker import FuncFormatter
def to_percent(temp, position):
return '%.2f'%(temp) + '%'
...
#設置橫座標
plt.gca().xaxis.set_major_formatter(FuncFormatter(to_percent))
#設置縱座標
plt.gca().yaxis.set_major_formatter(FuncFormatter(to_percent))
8.顯示線的名稱
#顯示線的名稱,並且位置自由放置
plt.legend(('label', 'label if > 0.5', 'label if < -0.5'), loc='best')
9.設置圖的顏色和名稱
#設置爲紅色和“line1”的名稱,可通過上面的方法顯示
plt.plot(x, y, color='red', label='line 1')
10.設置畫布大小
plt.figure(figsize=(6,8))
# 表示figure 的大小爲寬、長(單位爲inch)
11.繪製子圖
plt.subplot(121)
# 表示整個figure分成1行2列,共2個子圖,這裏子圖在第一行第一列
plt.subplot(122)
# 表示子圖在第一行第二列
示例:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 100)
#作圖1
plt.subplot(221)
plt.plot(x, x)
#作圖2
plt.subplot(222)
plt.plot(x, -x)
#作圖3
plt.subplot(223)
plt.plot(x, x ** 2)
plt.grid(color='r', linestyle='--', linewidth=1,alpha=0.3)
#作圖4
plt.subplot(224)
plt.plot(x, np.log(x))
plt.show()
12.創建自定義圖像
fig=plt.figure(figsize=(4,3),facecolor='blue')
plt.show()
1.figure語法及操作
(1)figure語法說明
figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
num:圖像編號或名稱,數字爲編號 ,字符串爲名稱
figsize:指定figure的寬和高,單位爲英寸;
dpi參數指定繪圖對象的分辨率,即每英寸多少個像素,缺省值爲80 1英寸等於2.5cm,A4紙是 21*30cm的紙張
facecolor:背景顏色
edgecolor:邊框顏色
frameon:是否顯示邊框
13.創建子圖補充(11)
x = [1.0, 2.0, 3.0]
y = [3.0, 6.0, 5.0]
fig = plt.figure()
ax = fig.add_subplot(348)
# 參數349的意思是:將畫布分割成3行4列,圖像畫在從左到右從上到下的第8塊
# 如果是第10塊,要寫成(3,4,10)這種形式
ax.plot(x,y)
plt.show()
用例1:
import matplotlib as mpl
import matplotlib.pyplot as plt
plt.rc('figure',figsize=(9,7)) # 統一修改figure畫布大小
import datetime
import matplotlib.dates as mdates
plt.rcParams['font.sans-serif']=['SimHei'] # 用來正常顯示中文標籤
plt.rcParams['axes.unicode_minus']= False # 用來正常顯示負號
fig = plt.figure() #創建自定義圖像
ax = fig.add_subplot(1,1,1)
ax.set_title(u"C盤已使用空間的時序圖")
ax.set(xlabel=u'日期',ylabel=u'磁盤使用大小')
# 圖上時間間隔顯示爲10天
ax.xaxis.set_major_locator(mdates.DayLocator(bymonthday=range(1,32), interval=10))
ax.xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m-%d"))
plt.subplots_adjust(bottom=0.13,top=0.95)
ax.plot(d['COLLECTTIME'],d['VALUE'],'ro-',)
fig.autofmt_xdate() #自動根據標籤長度進行旋轉
plt.savefig('c.jpg')
plt.show()
14.快速畫圖
fig = plt.figure(figsize=(10,8)).add_subplot(111).plot(df[x], df[y])
plt.show()