matplotlib初步学习

admin 2024年8月6日13:23:34评论6 views字数 2418阅读8分3秒阅读模式

matplotlib学习

使用matplotlib.pylab库画图

  • matplotlib可以用来作为机器学习可视化的作图工具,在这里简单记录一下常用的一些画图方法。
    1234567891011121314151617181920212223242526272829303132333435363738394041424344
    plt.figure()后到下一个plt.figure()前为同一张图的操作。   plt.grid(True) #加入网格    plt.plot(x,y) #图形中加入对点(x,y)的观察    plt.figure(num=标题数字,figsize=(长,宽),linewidth=1,linestyle=’--’,c=’red’)   plot.xlim((1,2))   plot.ylim((3,4))#横纵坐标范围plt.xlabel('x axis label')    plt.ylabel('y axis label')    figure(figsize=(8,6),dpi=80)    #创建一个长宽为8*6的图,设置分辨率为80   subplot(2,3,n)创建一个2*3的网格图,接下来的图样会在其第n块显示   savefig(“1.jpg”,dpi=80) #存图   plt.ytick([-2,-1,0,1],[‘bad2’,’bad1’,’ok’,’good’])   #对坐标打标记   画图时构造x、y序列:x=np.array([i/10.0 for i in range(-50,50,1)])x=np.array([i for i in range(-10,10,1)])x=linspace(-10,10,1000)*折线图   plt.plot(X,Y)    直接描点为折线图,当点数足够多时,折线会成为曲线。  配合使用linspace画图:   x=linspace(-5,5,50); #生成一维点   y=x**2; #输入公式   plot.plot(x ,y) #画图   *散点图   plt.scatter(X,Y,s=75,c=函数,alpha=0.5)   s:size   c:color(或直接写color,可以不用管IDE显示红色的情况,内部有color属性)   alpha:透明度   *柱状图   plt.bar(X,Y,facecolor=””,edgecolor=’white’)   *等高线图 用于三维数据   plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmap=plt.cm.hot)'''8:等高线数   f(X,Y):高度(X,Y的映射值),alpha:透明度,cmap:colormap,颜色映射类型(样式)   plt.clabel(C,inline=True,fontsize=10)   其中C为实例,使用 C= plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmap=plt.cm.hot)获取注意:f(X,Y)必须为长方形矩阵(内部代码实现),所以需要映射一定量的长方形布局的点再计算其值'''

使用等高线画决策边界

123456
x1_min, x1_max = x_test[:, 0].min() - 1, x_test_de[:, 0].max() + 1x2_min, x2_max = x_test[:, 1].min() - 1, x_test_de[:, 1].max() + 1xx1, xx2 = np.meshgrid(np.arange(x1_min, x1_max, 0.01), np.arange(x2_min, x2_max, 0.01))Z = classifier.predict(mypca.inverse_transform(np.array([xx1.ravel(), xx2.ravel()]).T))Z = Z.reshape(xx1.shape)plt.contourf(xx1, xx2, Z, alpha=0.4, cmap=cmap)

点颜色映射

1234567
from matplotlib.colors import ListedColormap...colors = ('red', 'blue', 'lightgreen', 'gray', 'cyan')cmap = ListedColormap(colors[:len(np.unique(y))])for idx, cl in enumerate(np.unique(y)):    plt.scatter(x=X[y == cl, 0], y=X[y == cl, 1], alpha=0.8, c=cmap(idx), label=cl)

三维图的创建

123456789101112131415161718
from mpl_toolkits.mplot3d import Axes3Dimport itertools...fig = plt.figure()ax = fig.add_subplot(111, projection='3d')'''A = XB = YZ = np.array(Z)'''Z = Z.flatten()C = np.array([i for i in itertools.product(A, B)])A = C[:, 0]B = C[:, 1]ax.plot_trisurf(A, B, Z, cmap='rainbow')plt.show()

图像填色

12345678910
'''填充与坐标轴之间的图形'''plt.fill(x, y, color = "g", alpha = 0.3)'''填充两曲线之间的空间'''plt.fill_between(x, y1, y2, facecolor = "yellow")plt.fill_between(x, y1, y2, where= y1 >= y2, facecolor = "blue", interpolate= True)plt.fill_between(x, y1, y2, where= y2 > y1, facecolor = "yellow", interpolate= True)

- source:hachp1.github.io

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月6日13:23:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   matplotlib初步学习https://cn-sec.com/archives/3039060.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息