Python-----Matplotlib坐标轴(axis)
一、坐标轴名字更换
import matplotlib.pyplot as plt import numpy as np 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 = '--') plt.xlim((-3,5)) plt.ylim((-3,10)) plt.xlabel('x') plt.ylabel('y') 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() plt.plot(x,y2) plt.plot(x,y1,color='red',linewidth=1.0,linestyle = '--') plt.xlim((-3,5)) plt.ylim((-3,5)) plt.xlabel('x') plt.ylabel('y') new_ticks1 = np.linspace(-3,5,5) #修改坐标轴上的小标 print(new_ticks1) plt.xticks(new_ticks1) #xticks为x轴
plt.yticks([-2,0,2,5],[r'$one\ shu$',r'$\alpha$',r'$three$',r'four']) #将y轴上的小标改成文字,其中,空格需要增加\,即'\ ',$可将格式更改成数字模式
#如果需要输入数学形式的α,则需要用\转换,即,\alpha
plt.show()
如下:x和y轴下标修改成-3-5,并且平分成5个
import matplotlib.pyplot as plt import numpy as np x = np.linspace(-3,3,50) y1 = 2*x+1 y2 = x**2 plt.figure() plt.xlim((-3,5)) plt.ylim((-3,5)) plt.xlabel('x') plt.ylabel('y') new_ticks1 = np.linspace(-3,5,5) print(new_ticks1) plt.xticks(new_ticks1) plt.yticks([-2,0,2,5],[r'$one\ shu$',r'$\alpha$',r'$three$',r'four']) l1, = plt.plot(x,y2,label='up') #label线的名字 l2, = plt.plot(x,y1,color='red',linewidth=1.0,linestyle = '--',label='down') plt.legend(handles=[l1,l2,],labels=['a1','a2'],loc='best') #handles,labels,为线取名用,l1,l2必须逗号结尾 #loc=location best:自动定位一个较空的位置;或center(right,left) right(left) 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() plt.plot(x,y2) plt.plot(x,y1,color='red',linewidth=1.0,linestyle = '--') plt.xlim((-3,5)) plt.ylim((-3,5)) plt.xlabel('x') plt.ylabel('y') new_ticks1 = np.linspace(-3,5,5) print(new_ticks1) plt.xticks(new_ticks1) plt.yticks([-2,0,2,5],[r'$one\ shu$',r'$\alpha$',r'$three$',r'four']) ax = plt.gca() #axc = 'get current axis' 获取现在的轴 ax.spines['top'].set_color('none') ax.spines['right'].set_color('none') ax.xaxis.set_ticks_position('bottom') #用bottom代替x轴 ax.yaxis.set_ticks_position('left') #用left代替y轴 ax.spines['left'].set_position(('data',0)) ax.spines['bottom'].set_position(('data',0))#axes 百分比 plt.show()