matplotlib 几种不同尺度图的趋势比较

ldioqlga  于 2023-06-23  发布在  其他
关注(0)|答案(1)|浏览(89)

我们如何在一个图中有多个具有不同x和y轴比例的图?例如,我们有列表a=[0,1,2,3],B=[10,20,30,40,50],c=[1000,2000,3000,4000],aa=[5,6,7,8],bb=[50,60,70,80,90]和cc=[5000,6000,7000,7000,7000]。8000],我们希望在一个图中有(a,aa),(B,bb),(c,cc)的散点图。当我们使用plt.scatter(a,aa)、plt.scatter(B,bb)和plt.scatter(c,cc)时,最后一个图的标度应用于所有图。我们如何防止这种情况发生?

for i in range(30):
    plt.scatter(dif_f[i], f_network_data_f[i],  
                label=f'demand{(i*5)+5}')
plt.axhline(0, ls='--', lw= 1, color='blue')
plt.axvline(0, ls='--', lw= 1, color='blue')
plt.xlabel("$ζ_i$ (positive values)")
plt.ylabel("$W_{14,i}$")
plt.title("$W_{14,i}$ versus $ζ_i$"+f" (average of cars per hour from each origin-destinatio)", fontsize=9)
plt.legend()
plt.show()
vtwuwzda

vtwuwzda1#

就像这样??希望能很好地理解...

import matplotlib.pyplot as plt

a = [0, 1, 2, 3]
b = [10, 20, 30, 40, 50]
c = [1000, 2000, 3000, 4000]
aa = [5, 6, 7, 8]
bb = [50, 60, 70, 80, 90]
cc = [5000, 6000, 7000, 8000]

fig, ax1 = plt.subplots()
######################################## First scatter plot (a,aa)
ax1.scatter(a, aa, color='blue')
ax1.set_xlabel('scatter plot')
ax1.set_ylabel('a and aa', color='blue')

ax2 = ax1.twinx() # define a second set of axes that shares the same x-axis
######################################## Second scatter plot (b,bb)
ax2.scatter(b, bb, color='red')
ax2.set_ylabel('b and bb', color='red')

ax3 = ax1.twiny() # define a third set of axes that shares the same x-axis
######################################## Third scatter plot (c,cc)
ax3.scatter(c, cc, color='green')
ax3.set_xlabel('c and cc', color='green')

plt.show()

相关问题