首頁>技術>

import matplotlib.pyplot as plt #匯入matplotlib庫中的pyplot並起別名為plt

%matplotlib inline #讓圖表直接在Jupyter Notebook中展示出來

plt.rcParams["font.sans-serif"]='SimHei' #解決中文亂碼的問題

plt.rcParams['axes.unicode_minus']=False #解決負號無法正常顯示的問題

%config InlineBackend.figure_format='svg' #將圖表設定成向量圖

#fig=plt.figure(figsize=(10,8)) #建立畫布 寬為10,高為8

"""

#方法一:用add_subplot函式建立座標系

fig=plt.figure() #先建立畫布,再建立座標系

#ax1=fig.add_subplot(1,1,1) #在畫布上繪製1×1個座標系

ax1=fig.add_subplot(2,2,1) #同時繪製2×2個座標,即4個座標系

ax2=fig.add_subplot(2,2,2) #同時繪製2×2個座標,即4個座標系

ax3=fig.add_subplot(2,2,3) #同時繪製2×2個座標,即4個座標系

ax4=fig.add_subplot(2,2,4) #同時繪製2×2個座標,即4個座標系

"""

"""

#方法二:用subplot2grid函式建立座標系

#plt.subplot2grid((2,2),(0,0)) #將圖表的整個區域分成2行2列,且在(0,0)位置繪圖

import numpy as np

x=np.arange(6)

y=np.arange(6)

plt.subplot2grid((2,2),(0,0)) #將圖表的整個區域分成2行2列,且在(0,0)位置繪圖

plt.plot(x,y) #繪製折線圖

plt.subplot2grid((2,2),(0,1)) #將圖表的整個區域分成2行2列,且在(0,1)位置繪圖

plt.bar(x,y) #繪製柱狀圖

"""

"""

#方法三:用subplot函式建立座標系

import numpy as np

x=np.arange(6)

y=np.arange(6)

plt.subplot(2,2,1) #將圖表的整個區域分成2行2列,且在第1個座標系上做折線圖

plt.plot(x,y)

plt.subplot(2,2,4) #將圖表的整個區域分成2行2列,且在第4個座標系上做折線圖

plt.bar(x,y)

"""

"""

#方法四:用plt.subplots函式建立座標系

fig,axes=plt.subplots(2,2) #將圖表的整個區域分成2行2列

import numpy as np

x=np.arange(6)

y=np.arange(6)

axes[0,0].plot(x,y)

axes[1,1].bar(x,y)

"""

import pandas as pd

import numpy as np

df=pd.read_excel(r'd:\mypythontest\註冊人數.xlsx',sheet_name=1)

x=df['月份']

y=df['註冊人數']

fig=plt.figure()

"""

#單座標 (張俊紅p186-p200)

plt.xlabel("月份",labelpad=10,fontsize='xx-large',color="#70AD47",fontweight='bold') #labelpad為到數軸的距離

plt.ylabel("註冊人數",labelpad=10) #labelpad為到數軸的距離

plt.xticks(np.arange(1,10),["1月份","2月份","3月份","4月份","5月份","6月份",

"7月份","8月份","9月份"])

plt.yticks(np.arange(1000,7000,1000),["1000人","2000人","3000人","4000人","5000人","6000人"])

plt.xlim(0,10) #設定x軸的刻度範圍

plt.ylim(0,8000) #設定y軸的刻度範圍

plt.axis("off") #不顯示座標軸

plt.grid(b="True") #顯示網格線

plt.grid(b="True",axis="x") #只顯示x軸的網格線

plt.grid(b="True",axis="y") #只顯示y軸的網格線

plt.grid(b="True",linestyle='dashed') #只顯示x軸的網格線

plt.plot(x,y)

plt.plot(x,y,label="折線圖")

plt.bar(x,y,label="柱狀圖")

plt.legend() #以上三句完成設定圖例

plt.legend(loc="upper left") #將圖例顯示在左上角位置,與loc=2作用一樣

plt.legend(ncol=2) #將圖例顯示在右上角

plt.title(label="1-9月XXX公司註冊使用者數",loc="left") #loc引數right,center

for a,b in zip(x,y):

plt.text(a,b,b,ba='center',va='bootom',fontsize=11)

#a,b為x,y座標,b為顯示的值,ba為橫向居中,va為縱向居下

plt.annotate("伺服器宕機了",xy=(5,1605),xytext=(6,1605),

arrowprops=dict(facecolor='black',arrowstyle='->'))

#計劃值與完成值同時顯示在一個座標中,並新增表格

import matplotlib.pyplot as plt #匯入matplotlib庫中的pyplot並起別名為plt

%matplotlib inline

plt.rcParams["font.sans-serif"]='SimHei' #解決中文亂碼的問題

plt.rcParams['axes.unicode_minus']=False #解決負號無法正常顯示的問題

%config InlineBackend.figure_format='svg'

import pandas as pd

import numpy as np

df=pd.read_excel(r'd:\mypythontest\註冊人數.xlsx',sheet_name=1)

x=df['月份']

y=df['註冊人數']

z=df['計劃人數']

fig=plt.figure()

plt.xlabel("月份",labelpad=10,fontsize='xx-large',color="#70AD47",fontweight='bold') #labelpad為到數軸的距離

plt.ylabel("註冊人數",labelpad=10) #labelpad為到數軸的距離

plt.xticks(np.arange(1,10),x)

plt.yticks(np.arange(1000,7000,1000),["1000人","2000人","3000人","4000人","5000人","6000人"])

plt.xlim(0,10) #設定x軸的刻度範圍

plt.ylim(0,8000) #設定y軸的刻度範圍

plt.bar(x,y,label="註冊值",color='r')

plt.bar(x,z,label="計劃值",color='b')

plt.legend(ncol=2) #以上三句顯示圖例

cellText=[df["註冊人數"],df["計劃人數"]] #以下語句顯示資料表

rows =["註冊人數","計劃人數"]

columns=df["月份"]

plt.table(cellText=cellText,cellLoc='center',rowLabels=rows,colLabels=columns,colLoc="left",loc="bottom")

"""

"""

#2個座標

plt.subplot(2,1,1)

plt.plot(x,y)

plt.xlabel("月份")

plt.ylabel("註冊人數")

plt.tick_params(axis="both",which="both",direction="inout",Labelbottom="False")

#軸刻度線設定成雙向且下軸刻度線不顯示

plt.subplot(2,1,2)

plt.plot(x,y)

plt.xlabel("月份")

plt.ylabel("註冊人數")

plt.tick_params(axis="both",which="both",direction="inout",Labelbottom="True")

#軸刻度線設定成雙向且下軸刻度線顯示

"""

7
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • C語言學習之-----(十六)  陣列和指標