python——matploylib模块

(1)二位坐标画图 (最后需有一行plt.show()将图显示)

x = np.linspace(-3,3,50)       #区间 [-1 1] 平分50个点
y1 = 2*x+1
y2 = x**2

#-------------figure()---定义一张图,可设置序号,长宽等---------------------------------------------------------------------
plt.figure()    #定义一张图(下面一行属于此图)

#------------plot()---展示一条线,内部参数:color 设置颜色,linewidth 设置线的宽度,linestyle 设置线的形式---------------------
plt.plot(x,y1)   # 以线的形式(plot)展示x和y1(x为横坐标,y1为纵坐标)

#-----------------------------------------------------------------------------------------------------------------------
plt.figure(num = 3,figsize=(8,5))    #再定义一张图,num = 3 (设置图的序号为3) figsize = (8,5) (设置坐标轴的长和宽)
plt.plot(x,y2)
plt.plot(x,y1,color = 'red',linewidth = 1.0,linestyle = '--')
color = 'red'#(设置线的颜色为红色) linewidth = 1.0 (设置线的宽度为1.0) linestyle = '--' (设置线的格式为 --)

#----------------show()---将图打印出来------------------------------------------------------------------------------------
plt.show()

(2)设置坐标轴

x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

plt.figure()
plt.plot(x,y2)
plt.plot(x,y1,color = 'red',linewidth = 1.0,linestyle = '--')

#-------------xlim(),ylim()---设置坐标轴的取值范围,范围以类似元组的形式传入-------------------------------------------------
plt.xlim((-1,2))    #设置x轴的取值范围为 [-1,2]
plt.ylim((-2,3))    #设置y轴的取值范围为 [-2,3]  (注意内部传入的是一个元组)

#-----------xlabel(),ylabel()---设置x轴、y轴的名称------------------------------------------------------------------------
plt.xlabel('I am x')
plt.ylabel('I am y')

#-----------xticks(),yticks()---更换x轴、y轴的坐标值(传入形式 *args,**kwargs)--------------------------------------------------
new_ticks = np.linspace(-1,2,5)
print(type(new_ticks))
plt.xticks(new_ticks)
plt.yticks([-2,-1.8,-1,1.22,3],['really bad','bad','normal','good','really good'])
plt.show()

(3)设置点的格式

plt.plot(x,y,marker = '+',color = 'b')  #maarker 设置点的形状,color设置点的颜色,markersize设置点的大小
#常用颜色
    # 'b'          蓝色
    # 'g'          绿色
    # 'r'          红色
    # 'c'          青色
    # 'm'          品红
    # 'y'          黄色
    # 'k'          黑色
    # 'w'          白色
#常用形状
    # ‘.’:点(point marker)
    # ‘,’:像素点(pixel marker)
    # ‘o’:圆形(circle marker)
    # ‘v’:朝下三角形(triangle_down marker)
    # ‘^’:朝上三角形(triangle_up marker)
    # ‘<‘:朝左三角形(triangle_left marker)
    # ‘>’:朝右三角形(triangle_right marker)
    # ‘1’:(tri_down marker)
    # ‘2’:(tri_up marker)
    # ‘3’:(tri_left marker)
    # ‘4’:(tri_right marker)
    # ‘s’:正方形(square marker)
    # ‘p’:五边星(pentagon marker)
    # ‘*’:星型(star marker)
    # ‘h’:1号六角形(hexagon1 marker)
    # ‘H’:2号六角形(hexagon2 marker)
    # ‘+’:+号标记(plus marker)
    # ‘x’:x号标记(x marker)
    # ‘D’:菱形(diamond marker)
    # ‘d’:小型菱形(thin_diamond marker)
    # ‘|’:垂直线形(vline marker)
    # ‘_’:水平线形(hline marker)

(4)三维图形绘制

fig = plt.figure()
# ax = fig.add_subplot(321, projection='3d')  # 321代表将整张图平均分为3*2=6份(上下,左中右),该图占第一份(左上角)
ax = plt.axes(projection='3d')
# 三维线的数据
zline = np.linspace(0, 15, 1000)
xline = np.sin(zline)
yline = np.cos(zline)
ax.plot3D(xline, yline, zline, 'gray')
# 三维散点的数据
zdata = 15 * np.random.random(100)
print("zdata: ", zdata.shape)
xdata = np.sin(zdata) + 0.1 * np.random.randn(100)
ydata = np.cos(zdata) + 0.1 * np.random.randn(100)
ax.scatter3D(xdata, ydata, zdata, c=zdata, cmap='Greens')

plt.savefig('3d_img.png')
plt.show()
原文地址:https://www.cnblogs.com/jgua/p/14417543.html