欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

matplotlib常用subplot

程序员文章站 2022-03-21 20:33:50
...

This is my favorite

import matplotlib.pyplot as plt
x = range(10)
y = range(10)
fig, ax = plt.subplots(nrows=2, ncols=2)

for row in ax:
    for col in row:
        col.plot(x, y)

plt.show()
fig= plt.figure(figsize=(12,10))
for index,(each,c) in enumerate(zip(df2['newrank2'].unique(),['g','y','r','m','b'])):
    
    ax = fig.add_subplot(3,2,index+1)
    
    ax.scatter(x=df2.query("newrank2== @each")['totalq'],y=df2.query("newrank2== @each")['totalsales'],color =c,alpha =0.9,edgecolors ='black',label=each)
    ax.legend()
    ax.set_xlabel('totalq')
    ax.set_ylabel('totalsales')
# ax.set_title(each)
    ax.set_ylim((0,1000))
    ax.set_xlim((0,80)) 
fig= plt.figure()
ax = plt.axes()
for each,c in zip(df2['newrank2'].unique(),['g','y','r','m','b']):
    
    ax.scatter(x=df2.query("newrank2== @each")['totalq'],y=df2.query("newrank2== @each")['totaldisc'],color =c,alpha =0.5,edgecolors ='black',label=each)
    ax.legend()
    ax.set_xlabel('totalq')
    ax.set_ylabel('totaldisc')
# ax.set_title(each)
    ax.set_ylim((0,1000))
    ax.set_xlim((0,80)) 
plt.subplot(221)

# equivalent but more general
ax1=plt.subplot(2, 2, 1)

# add a subplot with no frame
ax2=plt.subplot(222, frameon=False)

# add a polar subplot
plt.subplot(223, projection='polar')