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()

 

 

 

posted @ 2017-09-11 22:50  Astray.R  阅读(16788)  评论(0编辑  收藏  举报