Python每日一记112>>>matplotlib次坐标轴和翻转坐标轴

因为量纲不同我们需要用到次坐标轴,因为想要表达方式不同我们需要用到翻转坐标轴,因为就学习了一下
1、次坐标轴
这里需特别注意,纵坐标的次坐标用twinx(),横坐标的次坐标用twiny()

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(1,10,10)
y1=2*x+1
y2=x**2+1

fig,ax1=plt.subplots(1,1)
plt.ylabel('y1')
ax1.plot(x,y1)
ax2=ax1.twinx()#依据ax1设置一个纵坐标轴的次坐标ax2,如果需要设置横坐标轴的次坐标轴,需要用twiny()
plt.ylabel('y2')
ax2.plot(x,y2)
plt.show()

Python每日一记112>>>matplotlib次坐标轴和翻转坐标轴_第1张图片

2、翻转坐标轴
第一种方法: #invert_yaxis()翻转纵轴,invert_xaxis()翻转横轴

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(1,10,10)
y1=2*x+1
y2=x**2+1

fig,ax1=plt.subplots(1,1)
plt.ylabel('y1')
ax1.plot(x,y1)
ax2=ax1.twinx()
ax2.invert_yaxis() #invert_yaxis()翻转纵轴,invert_xaxis()翻转横轴
plt.ylabel('invert_y2')
ax2.plot(x,y2)
plt.show()

Python每日一记112>>>matplotlib次坐标轴和翻转坐标轴_第2张图片
第二种方法:#将ylim 范围从大到小设置,就翻转了

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(1,10,10)
y1=2*x+1
y2=x**2+1

fig,ax1=plt.subplots(1,1)
plt.ylabel('y1')
ax1.plot(x,y1)
ax2=ax1.twinx()
ax2.set_ylim(100,0)#将范围从大到小设置,就翻转了
plt.ylabel('invert_y2')
ax2.plot(x,y2)
plt.show()

Python每日一记112>>>matplotlib次坐标轴和翻转坐标轴_第3张图片

你可能感兴趣的:(Python每日一记112>>>matplotlib次坐标轴和翻转坐标轴)