1 Python散点密度图
import matplotlib.pyplot as plt from scipy.stats import gaussian_kdefrom mpl_toolkits.axes_grid1 import make_axes_locatableimport numpy as npx = np.random.normal(size=10000)y = np.random.normal(size=10000)xy = np.vstack([x,y])z = gaussian_kde(xy)(xy)idx = z.argsort()x, y, z = x[idx], y[idx], z[idx]fig, ax = plt.subplots(figsize=(7,5),dpi=100)maxNum = max(x)minNum = min(x)ax.plot(x, x, color='r', linewidth=2)plt.xlim(minNum, maxNum)plt.ylim(minNum, maxNum)xcord=xycord=y(xcord*ycord).mean()xcord.mean()* ycord.mean()pow(xcord,2).mean()pow(xcord.mean(),2)m = ((xcord*ycord).mean() - xcord.mean()* ycord.mean())/(pow(xcord,2).mean()-pow(xcord.mean(),2))c = ycord.mean() - m*xcord.mean()y1=m*x+c scatter=ax.scatter(x,y,marker='o',c=z,edgecolors='',s=15,label='LST',cmap='Spectral_r')divider=make_axes_locatable(ax)cax = divider.append_axes("right",size="3%",pad=0.1)cbar = fig.colorbar(scatter,cax=cax,extend='both',aspect=30,fraction=.03,pad=0.01)ax.plot(x,y1,color='k', linewidth=2)plt.savefig('F:/Rpython/lp36/plot82.1.png',dpi=800,bbox_inches='tight',pad_inches=0)plt.show()print('Finished.')


2 基于Python的Savitzky-Golay滤波器
import numpy as npimport matplotlib.pylab as plt'''其它的一些知识点:raise:当程序发生错误,python将自动引发异常,也可以通过raise显示的引发异常一旦执行了raise语句,raise语句后面的语句将不能执行'''def moving_average(interval, windowsize): window = np.ones(int(windowsize)) / float(windowsize) re = np.convolve(interval, window, 'same') return redef LabberRing(): t = np.linspace(-4, 4, 100) print('t=', t) y = np.sin(t) + np.random.randn(len(t)) * 0.1 print('y=', y) plt.plot(t, y, 'k') y_av = moving_average(y, 10) plt.plot(t, y_av, 'b') plt.xlabel('Time') plt.ylabel('Value') plt.grid(True) plt.savefig('F:/Rpython/lp36/plot79.png',dpi=500,bbox_inches='tight'
,pad_inches=0) plt.show() returnLabberRing()

3 Python一元线性回归1
import numpy as npimport pylab as plfrom matplotlib import pyplot as pltSize=100x=np.linspace(1,Size,Size)data = np.random.randint(1, Size, Size)print(data)plt.plot(x,data)from scipy.signal import savgol_filtery = savgol_filter(data,5,3,mode='nearest')plt.plot(x, y,'b',label='savgol')def plot_trendline(x, y, n, style): parameter = np.polyfit(x, y, n) f = np.poly1d(parameter) pl.plot(x, f(x), style,lw=1) plt.text(15,90,'y=%.4fx'%parameter[0]+'+ %.4f'%parameter[1],fontsize=12)plot_trendline(x,data,1,"r--")plt.savefig('F:/Rpython/lp36/plot78.png',dpi=500,bbox_inches='tight',pad_inches=0)plt.show()print('Finished.')

4 Python一元线性回归2
import numpy as npimport pylab as plfrom matplotlib import pyplot as pltfrom matplotlib import rcParamsconfig = {"font.family":'Times New Roman',"font.size":12,"mathtext.fontset":'stix'}rcParams.update(config)x=np.linspace(-4,4,50) data=np.sin(x)+np.random.randn(len(x))*0.1 print(data)plt.plot(x,data,c='k',lw=2)from scipy.signal import savgol_filtery = savgol_filter(data,5,3,mode='nearest')plt.plot(x, y,'b',lw=2,label='savgol')
def plot_trendline(x,y,n,style): parameter=np.polyfit(x,y,n) f=np.poly1d(parameter) pl.plot(x,f(x),style,lw=2) R2=round(np.corrcoef(y,f(x))[0,1]**2,2) plt.text(0.25,-0.4,'y=%.4fx'%parameter[0]+'+ %.4f'%parameter[1],fontsize=12) plt.text(0.25,-0.3,r'$R^2=$'+str(R2),fontsize=12) print(parameter) print(f) print('r^2为',round(np.corrcoef(y,f(x))[0,1]**2,2))plot_trendline(x,data,1,"r-")plt.savefig('F:/Rpython/lp36/plot81.png',dpi=800,bbox_inches='tight',pad_inches=0)plt.show()print('Finished.')

5 Python一元线性回归3
import numpy as npimport pylab as plfrom matplotlib import pyplot as pltfrom matplotlib import rcParamsconfig = {"font.family":'Times New Roman',"font.size":12,"mathtext.fontset":'stix'}rcParams.update(config)Size=100x=np.linspace(1,Size,Size)data = np.random.randint(1, Size, Size)print(data)plt.plot(x,data,c='k',lw=2)from scipy.signal import savgol_filtery = savgol_filter(data,5,3,mode='nearest')plt.plot(x, y,'b',lw=2,label='savgol')def plot_trendline(x,y,n,style): parameter=np.polyfit(x,y,n) f=np.poly1d(parameter) pl.plot(x,f(x),style,lw=2) plt.text(0.25,-0.4,'y=%.4fx'%parameter[0]+'+ %.4f'%parameter[1],fontsize=12) print(parameter) print(f) print('r^2为',round(np.corrcoef(y,f(x))[0,1]**2,2))plot_trendline(x,data,1,"r-")plt.savefig('F:/Rpython/lp36/plot82.png',dpi=800,bbox_inches='tight',pad_inches=0)plt.show()print('Finished.')

6 Python双Y轴绘制
"""该源代码作者,CSDN:EWBA_GIS_RS_ER."""import numpy as npimport pandas as pdimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False from matplotlib.pyplot import MultipleLocatormonth = np.arange(1,13)precipitation = [10,15,30,40,50,80,100,120,55,45,30,10]temperature = [-15,-10,5,15,20,27,35,30,26,15,5,-10]fig = plt.figure(figsize=(10,6),dpi=600) ax_pre = fig.add_subplot(111)pre_bar = ax_pre.bar(month,precipitation,color='blue',label='降水')fontdict1 = {'size':11,'color':'k','weight':'normal','family':'SimHei'}ax_pre.set_ylabel('降水(mm)',fontdict=fontdict1,labelpad=0)ax_pre.set_xlabel('月')ax_tem = ax_pre.twinx() tem_line = ax_tem.plot(month,temperature,marker='o',markersize=3,color='r',linewidth=1,label='温度')ax_tem.set_ylabel('温度(℃)',fontdict=fontdict1,labelpad=0)fig.legend(loc=0,bbox_to_anchor=(1,1), bbox_transform=ax_pre.transAxes)plt.savefig('F:/Rpython/lp36/plot76.png',dpi=800,bbox_inches='tight',pad_inches=0)plt.show()

7 Python三Y轴绘制
"""该源代码作者,博客园:dajunma21。"""from mpl_toolkits.axisartist.parasite_axes import HostAxes, ParasiteAxesimport matplotlib.pyplot as pltfig = plt.figure(1)host = HostAxes(fig, [0.15, 0.1, 0.65, 0.8])par1 = ParasiteAxes(host, sharex=host)par2 = ParasiteAxes(host, sharex=host)host.parasites.append(par1)host.parasites.append(par2)host.set_ylabel('Denstity')host.set_xlabel('Distance')host.axis['right'].set_visible(False)par1.axis['right'].set_visible(True)par1.set_ylabel('Temperature')par1.axis['right'].major_ticklabels.set_visible(True)par1.axis['right'].label.set_visible(True)par2.set_ylabel('Velocity')offset = (60, 0)
new_axisline = par2._grid_helper.new_fixed_axis par2.axis['right2'] = new_axisline(loc='right', axes=par2, offset=offset)fig.add_axes(host)host.set_xlim(0,2)host.set_ylim(0,2)host.set_xlabel('Distance')host.set_ylabel('Density')host.set_ylabel('Temperature')p1, = host.plot([0, 1, 2], [0, 1, 2], label="Density")p2, = par1.plot([0, 1, 2], [0, 3, 2], label="Temperature")p3, = par2.plot([0, 1, 2], [50, 30, 15], label="Velocity")par1.set_ylim(0,4)par2.set_ylim(1,60)host.legend()host.axis['left'].label.set_color(p1.get_color())par1.axis['right'].label.set_color(p2.get_color())par2.axis['right2'].label.set_color(p3.get_color())par2.axis['right2'].major_ticklabels.set_color(p3.get_color()) par2.axis['right2'].set_axisline_style('-|>',size=1.5) par2.axis['right2'].line.set_color(p3.get_color()) plt.savefig('F:/Rpython/lp36/plot82.91.png',dpi=800,bbox_inches='tight',pad_inches=0)plt.show()print('Finished.')print('Done!')

8 Python多Y轴绘制
"""该源代码作者,博客园:dajunma21。"""from mpl_toolkits.axisartist.parasite_axes import HostAxes, ParasiteAxesimport matplotlib.pyplot as pltimport numpy as npfig = plt.figure(1) ax_cof = HostAxes(fig, [0, 0, 0.9, 0.9]) ax_temp = ParasiteAxes(ax_cof, sharex=ax_cof)ax_load = ParasiteAxes(ax_cof, sharex=ax_cof)ax_cp = ParasiteAxes(ax_cof, sharex=ax_cof)ax_wear = ParasiteAxes(ax_cof, sharex=ax_cof)ax_cof.parasites.append(ax_temp)ax_cof.parasites.append(ax_load)ax_cof.parasites.append(ax_cp)ax_cof.parasites.append(ax_wear)ax_cof.axis['right'].set_visible(False)ax_cof.axis['top'].set_visible(False)ax_temp.axis['right'].set_visible(True)ax_temp.axis['right'].major_ticklabels.set_visible(True)ax_temp.axis['right'].label.set_visible(True)ax_cof.set_ylabel('cof')ax_cof.set_xlabel('Distance (m)')ax_temp.set_ylabel('Temperature')ax_load.set_ylabel('load')ax_cp.set_ylabel('CP')ax_wear.set_ylabel('Wear'
)load_axisline = ax_load.get_grid_helper().new_fixed_axiscp_axisline = ax_cp.get_grid_helper().new_fixed_axiswear_axisline = ax_wear.get_grid_helper().new_fixed_axisax_load.axis['right2'] = load_axisline(loc='right', axes=ax_load, offset=(40,0))ax_cp.axis['right3'] = cp_axisline(loc='right', axes=ax_cp, offset=(80,0))ax_wear.axis['right4'] = wear_axisline(loc='right', axes=ax_wear, offset=(120,0))fig.add_axes(ax_cof)''' #set limit of x, yax_cof.set_xlim(0,2)ax_cof.set_ylim(0,3)'''curve_cof, = ax_cof.plot([0, 1, 2], [0, 1, 2], label="CoF", color='black')curve_temp, = ax_temp.plot([0, 1, 2], [0, 3, 2], label="Temp", color='red')curve_load, = ax_load.plot([0, 1, 2], [1, 2, 3], label="Load", color='green')curve_cp, = ax_cp.plot([0, 1, 2], [0, 40, 25], label="CP", color='pink')curve_wear, = ax_wear.plot([0, 1, 2], [25, 18, 9], label="Wear", color='blue')ax_temp.set_ylim(0,4)ax_load.set_ylim(0,4)ax_cp.set_ylim(0,50)ax_wear.set_ylim(0,30)ax_cof.legend()ax_temp.axis['right'].label.set_color('red')ax_load.axis['right2'].label.set_color('green')ax_cp.axis['right3'].label.set_color('pink')ax_wear.axis['right4'].label.set_color('blue')ax_temp.axis['right'].major_ticks.set_color('red')ax_load.axis['right2'].major_ticks.set_color('green')ax_cp.axis['right3'].major_ticks.set_color('pink')ax_wear.axis['right4'].major_ticks.set_color('blue')ax_temp.axis['right'].major_ticklabels.set_color('red')ax_load.axis['right2'].major_ticklabels.set_color('green')ax_cp.axis['right3'].major_ticklabels.set_color('pink')ax_wear.axis['right4'].major_ticklabels.set_color('blue')ax_temp.axis['right'].line.set_color('red')ax_load.axis['right2'].line.set_color('green')ax_cp.axis['right3'].line.set_color('pink')ax_wear.axis['right4'].line.set_color('blue')plt.savefig('F:/Rpython/lp36/plot82.9.png',dpi=800,bbox_inches='tight',pad_inches=0)plt.show()print('Finished.')print('Done!')

