赞
踩
今天学习了一下使用matplotlib画图,具体步骤以及代码如下:
首先是关于线性函数的图像画法
- import matplotlib.pyplot as plt
- import numpy as np
-
- x=np.linspace(-3,3,50)
- y1=2*x+1
- y2=x**2
-
- plt.figure()#关于Y1的图像1
- plt.plot(x,y1)
-
- plt.figure(num=3,figsize=(8,5)) #关于Y2的图像2
- plt.plot(x,y2)
- plt.plot(x,y1,color="red",linewidth=1.0,linestyle="--") #figure3里面有两条线,y1和y2,其中y1为红色宽度为1.0的虚线
- #设置坐标轴
- plt.xlim((-1,2))
- plt.ylim((-2,3))
- plt.xlabel('x轴')
- plt.ylabel('y轴')
-
- #设置不同的坐标轴取值范围
- new_ticks=np.linspace(-1,2,5) #范围是(-1,2)分为5个单位
- #print(new_ticks)
- plt.xticks(new_ticks)
-
- plt.show()
以下是对Y坐标轴的改动
- import matplotlib.pyplot as plt
- import numpy as np
-
- x=np.linspace(-3,3,50)
- y1=2*x+1
- y2=x**2
-
- plt.figure()#关于Y1的图像1
- plt.plot(x,y1)
-
- plt.figure(num=3,figsize=(8,5)) #关于Y2的图像2
- plt.plot(x,y2)
- plt.plot(x,y1,color="red",linewidth=1.0,linestyle="--") #figure3里面有两条线,y1和y2,其中y1为红色宽度为1.0的虚线
- #设置坐标轴
- plt.xlim((-1,2))
- plt.ylim((-2,3))
- plt.xlabel('x轴')
- plt.ylabel('y轴')
-
- #设置不同的坐标轴取值范围
- new_ticks=np.linspace(-1,2,5) #范围是(-1,2)分为5个单位
- #print(new_ticks)
- plt.xticks(new_ticks)
- #对纵坐标的点设置描述
- plt.yticks([-2,-1.8,-1.1,22,3],
- ['really bad','bad','normal','good','really good'])
-
-
- plt.show()
修改坐标轴的位置
- import matplotlib.pyplot as plt
- import numpy as np
-
- x=np.linspace(-3,3,50)
- y1=2*x+1
- y2=x**2
-
- plt.figure()#关于Y1的图像1
- plt.plot(x,y1)
-
- plt.figure(num=3,figsize=(8,5)) #关于Y2的图像2
- plt.plot(x,y2)
- plt.plot(x,y1,color="red",linewidth=1.0,linestyle="--") #figure3里面有两条线,y1和y2,其中y1为红色宽度为1.0的虚线
- #设置坐标轴
- plt.xlim((-1,2))
- plt.ylim((-2,3))
- plt.xlabel('x轴')
- plt.ylabel('y轴')
-
- #设置不同的坐标轴取值范围
- new_ticks=np.linspace(-1,2,5) #范围是(-1,2)分为5个单位
- #print(new_ticks)
- plt.xticks(new_ticks)
- #对纵坐标的点设置描述
- plt.yticks([-2,-1.8,-1,1.22,3],
- ['really bad','bad','normal','good','really good'])
- #修改坐标轴的位置
- #gca='get current axis' 获得当前的轴
- ax=plt.gca()
- ax.spines['right'].set_color('none') #右边的脊柱设置为没有颜色
- ax.spines['top'].set_color('none') #上边的脊柱设置为没有颜色(取消上边的坐标轴)
-
-
- plt.show()
如下图,右坐标和上坐标轴已经消失。
- import matplotlib.pyplot as plt
- import numpy as np
-
- x=np.linspace(-3,3,50)
- y1=2*x+1
- y2=x**2
-
- plt.figure()#关于Y1的图像1
- plt.plot(x,y1)
-
- plt.figure(num=3,figsize=(8,5)) #关于Y2的图像2
- plt.plot(x,y2)
- plt.plot(x,y1,color="red",linewidth=1.0,linestyle="--") #figure3里面有两条线,y1和y2,其中y1为红色宽度为1.0的虚线
- #设置坐标轴
- plt.xlim((-1,2))
- plt.ylim((-2,3))
- plt.xlabel('x轴')
- plt.ylabel('y轴')
-
- #设置不同的坐标轴取值范围
- new_ticks=np.linspace(-1,2,5) #范围是(-1,2)分为5个单位
- #print(new_ticks)
- plt.xticks(new_ticks)
- #对纵坐标的点设置描述
- plt.yticks([-2,-1.8,-1,1.22,3],
- ['really bad','bad','normal','good','really good'])
- #修改坐标轴的位置
- #gca='get current axis' 获得当前的轴
- ax=plt.gca()
- ax.spines['right'].set_color('none') #右边的脊柱设置为没有颜色
- ax.spines['top'].set_color('none') #上边的脊柱设置为没有颜色(取消上边的坐标轴)
- ax.xaxis.set_ticks_position('bottom')
- ax.yaxis.set_ticks_position('left')
- ax.spines['bottom'].set_position(('data',0)) #x轴移动到y轴0的位置
- ax.spines['left'].set_position(('data',0)) #y轴移动到x轴0的位置
-
- plt.show()
- import matplotlib.pyplot as plt
- import numpy as np
-
- x=np.linspace(-3,3,50)
- y1=2*x+1
- y2=x**2
-
- plt.figure()#关于Y1的图像1
- plt.plot(x,y1)
-
- plt.figure(num=3,figsize=(8,5)) #关于Y2的图像2
-
- #设置坐标轴
- plt.xlim((-1,2))
- plt.ylim((-2,3))
- plt.xlabel('x轴')
- plt.ylabel('y轴')
-
- #设置不同的坐标轴取值范围
- new_ticks=np.linspace(-1,2,5) #范围是(-1,2)分为5个单位
- #print(new_ticks)
- plt.xticks(new_ticks)
- #对纵坐标的点设置描述
- plt.yticks([-2,-1.8,-1,1.22,3],
- ['really bad','bad','normal','good','really good'])
-
- l1,=plt.plot(x,y2,label='up') #设置标签为up 这里的逗号别忘记,不然出不来图例
- l2,=plt.plot(x,y1,color="red",linewidth=1.0,linestyle="--",label='down') #figure3里面有两条线,y1和y2,其中y1为红色宽度为1.0的虚线
- #输出图例
- plt.legend(handles=[l1,l2],labels=['aaa','bbb'],loc='best') #处理l1和l2,标签为[],位置为‘最好的位置’也可以选择bottom right(右下角)
-
- plt.show()
-
-
- import matplotlib.pyplot as plt
- import numpy as np
-
- x = np.linspace(-3, 3, 50)
- y = 2*x + 1
-
- plt.figure(num=1, figsize=(8, 5),)
- plt.plot(x, y,)
-
- ax = plt.gca()
- ax.spines['right'].set_color('none')
- ax.spines['top'].set_color('none')
- ax.spines['top'].set_color('none')
- ax.xaxis.set_ticks_position('bottom')
- ax.spines['bottom'].set_position(('data', 0))
- ax.yaxis.set_ticks_position('left')
- ax.spines['left'].set_position(('data', 0))
-
- x0 = 1 #添加某一点的x轴坐标
- y0 = 2*x0 + 1
- plt.plot([x0, x0,], [0, y0,], 'k--', linewidth=2.5) #利用两个点plot出一条虚线,两个点的横坐标集合为[x0,x0],纵坐标集合为[y0,0],,,k代表黑色
- plt.scatter([x0, ], [y0, ], s=50, color='b') #散点图scatter 某一点用scatter s=大小,b=蓝色
-
- # method 1:
- #####################
- plt.annotate(r'$2x+1=%s$' % y0, xy=(x0, y0), xycoords='data', xytext=(+30, -30),
- textcoords='offset points', fontsize=16,
- arrowprops=dict(arrowstyle='->', connectionstyle="arc3,rad=.2"))
-
- # method 2:
- ########################
- plt.text(-3.7, 3, r'$This\ is\ the\ some\ text. \mu\ \sigma_i\ \alpha_t$',
- fontdict={'size': 16, 'color': 'r'}) #开始位置(-3,7,3),r'$ $'是为了字体好看变成美元的字体格式,其中r为转义字符 空格要用转移字符\ ,这样才会有正确的空格 sigma_i 中_i是为了有下角标
-
- plt.show()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。