matplotlib【4】--折線圖
阿新 • • 發佈:2018-12-15
經濟走勢圖、銷售波動圖、PV監控圖用折線圖
plt.hist()
但好像一直都會用plt.plot()函式應用
plt.hist(x,y,linestyle,
linewidth,color,marker,
markersize,markeredgecolor,
markerfactcolor,label,alpha)
x:指定折線圖的x軸資料;
y:指定折線圖的y軸資料;
linestyle:指定折線的型別,可以是實線、虛線、點虛線、點點線等,預設文實線;
linewidth:指定折線的寬度
marker:可以為折線圖新增點,該引數是設定點的形狀;
markersize:設定點的大小;
markeredgecolor:設定點的邊框色;
markerfactcolor:設定點的填充色;
label:為折線圖新增標籤,類似於圖例的作用;
#經濟走勢圖、銷售波動圖、PV監控圖用折線圖 #一元折線圖的繪製 #案例:每天進步一點點2015公眾號文章閱讀人數 #匯入模組 import pandas as pd import matplotlib.pyplot as plt #設定繪圖風格 plt.style.use('ggplot') #設定中文編碼和負號正常顯示 plt.rcParams['font.sans-serif']=['Microsoft YaHei'] plt.rcParams['axes.unicode_minus']=False #忽略警告 import warnings warnings.filterwarnings('ignore') #讀取需要繪圖的資料 # file=open('E:\知乎檔案儲存\python_curveplot\wechart.xlsx','rb') article_reading=pd.read_excel('E:\知乎檔案儲存\python_curveplot\wechart.xlsx') #取數:取出8月份至9月28號的資料 sub_data=article_reading.loc[article_reading.date>='2017-08-01',:] #可以用data函式直接讀取資料,日期資料是具有運算的 #設定圖框大小 fig=plt.figure(figsize=(10,6)) #繪圖 plt.plot( sub_data.date,#x軸資料 sub_data.article_reading_cnts,#y軸資料 linestyle='-',#折線型別 linewidth=2,#折線寬度 color='steelblue',#折線顏色 marker='o',#點的形狀 markersize=6,#點的大小 markeredgecolor='black',#點的邊框色 markerfacecolor='brown'#點的填充色 ) #新增標題和座標軸標籤 plt.title('公眾號每天閱讀人數趨勢圖') plt.xlabel('日期') plt.ylabel('人數') #剔除圖框上邊界和右邊界的刻度 plt.tick_params(top='off',right='off') #此步是為了進一步優化影象,比如將刻度標籤展現的形式是‘yyyy-mm-dd',又想以固定幾天作為間隔 #只需要在上述程式碼的基礎上新增幾行程式碼 import matplotlib as mpl #獲取圖的座標資訊 ax=plt.gca() #設定日期的顯示格式 date_format=mpl.dates.DateFormatter('%Y-%m-%d') ax.xaxis.set_major_formatter(date_format) #設定x軸顯示多少個日期刻度 #xlocator=mpl.ticker.LinearleLocator(10) #設定x軸每個刻度的間隔天數 xlocator=mpl.ticker.MultipleLocator(5) ax.xaxis.set_major_locator(xlocator) #為了避免x軸日期刻度標籤的重疊,設定x軸刻度自動展現,並且45度傾斜 fig.autofmt_xdate(rotation=45) plt.show()
######多元折線圖繪製############ #如果需要在一張圖上中劃出兩條折線圖,也很簡單,只需要在程式碼中寫入兩次plot函式即可,其他都不需要改動。 #匯入模組 import pandas as pd import matplotlib.pyplot as plt #設定繪圖風格 plt.style.use('ggplot') #設定中文編碼和負號正常顯示 plt.rcParams['font.sans-serif']=['Microsoft YaHei'] plt.rcParams['axes.unicode_minus']=False #忽略警告 import warnings warnings.filterwarnings('ignore') #讀取需要繪圖的資料 # file=open('E:\知乎檔案儲存\python_curveplot\wechart.xlsx','rb') article_reading=pd.read_excel('E:\知乎檔案儲存\python_curveplot\wechart.xlsx') #取數:取出8月份至9月28號的資料 sub_data=article_reading.loc[article_reading.date>='2017-08-01',:] #可以用data函式直接讀取資料,日期資料是具有運算的 #設定圖框大小 fig=plt.figure(figsize=(10,6)) #繪圖--閱讀人數趨勢 plt.plot( sub_data.date,#x軸資料 sub_data.article_reading_cnts,#y軸資料 linestyle='-',#折線型別 linewidth=2,#折線寬度 color='steelblue',#折線顏色 marker='o',#點的形狀 markersize=6,#點的大小寫 markeredgecolor='black',#點的邊框色 markerfacecolor='steelblue',#點的填充色 label='閱讀人數'#新增標籤 ) #繪圖--閱讀人次趨勢 plt.plot( sub_data.date,#x軸標籤 sub_data.article_reading_times,#y軸資料 linestyle='-',#折線型別 linewidth=2,#折線寬度 color='#ff9999',#折線顏色 marker='o',#點的形狀 markersize=6,#點的大小 markeredgecolor='black',#點的邊框色 markerfacecolor='#ff9999',#點的填充色 label='閱讀人次' ) #新增標題和座標軸標籤 plt.title('公眾號每天閱讀人數和人次趨勢圖') plt.xlabel('日期') plt.ylabel('人數') #剔除圖框上邊界和右邊界的刻度 plt.tick_params(top='off',right='off') #獲取圖的座標資訊 ax=plt.gca() #設定日期的顯示格式 date_format=mpl.dates.DateFormatter('%m-%d') ax.xaxis.set_major_formatter(date_format) #設定x軸顯示多少個日期刻度 #xlocator=mpl.ticker.LinearLocator(10) #設定x軸每個刻度的間隔天數 xlocator=mpl.ticker.MultipleLocator(3) ax.xaxis.set_major_locator(xlocator) #為了避免x軸日期刻度標籤的重疊,設定x軸刻度自動展現,並且傾斜45度 fig.autofmt_xdate(rotation=45) plt.legend() plt.show()