python——matploylib模块
2021-03-02 04:27
标签:new pre 绿色 show triangle RKE 上下 水平线 名称 (1)二位坐标画图 (最后需有一行plt.show()将图显示) (2)设置坐标轴 (3)设置点的格式 (4)三维图形绘制 python——matploylib模块 标签:new pre 绿色 show triangle RKE 上下 水平线 名称 原文地址:https://www.cnblogs.com/jgua/p/14417543.htmlx = 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()
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()
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_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)
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()