Python 有没有办法缩短代码?茎小批

Python 有没有办法缩短代码?茎小批,python,matplotlib,plot,data-visualization,subplot,Python,Matplotlib,Plot,Data Visualization,Subplot,stem图中的x轴和y轴变量是数据帧中的列 import pandas as pd import matplotlib.pyplot as plt fig, ax = plt.subplots(3, 1,figsize=(8,20)) fig.suptitle('Magnitude-Time Plot : R1') fig.subplots_adjust(hspace=0.5) # Defining custom 'xlim' and 'ylim' values. xlim = (1990

stem图中的x轴和y轴变量是数据帧中的列


import pandas as pd
import matplotlib.pyplot as plt

fig, ax = plt.subplots(3, 1,figsize=(8,20))
fig.suptitle('Magnitude-Time Plot : R1')
fig.subplots_adjust(hspace=0.5)

# Defining custom 'xlim' and 'ylim' values.
xlim = (1990, 2005)
ylim = (0, 9)

# Setting the values for all axes.
plt.setp(ax, xlim=xlim, ylim=ylim)

    # plot with no marker

#subplot(311) : Catalog8 in R1
markerline, stemlines, baseline = ax[0].stem(cata8q1.YearDeci,cata8q1.Magnitude, markerfmt=' ',use_line_collection=True,linefmt='b')
plt.setp(stemlines,linewidth=0.5)
ax[0].set_title('Catalog OLD')

#subplot(312) : catalog 9 _Uniq in R1
markerline, stemlines, baseline = ax[1].stem(cata9uniq1.YearDeci,cata9uniq1.Magnitude, markerfmt=' ',use_line_collection=True,linefmt='r')
plt.setp(stemlines,linewidth=0.5)
ax[1].set_title('Unique events in NEW CATALOG')

#subplot(312) : Catalog NEW in R1
markerline, stemlines, baseline = ax[2].stem(catanewq1.YearDeci,catanewq1.Magnitude, markerfmt=' ',use_line_collection=True)
plt.setp(stemlines,linewidth=0.5)
ax[2].set_title('OLD + unique events in NEW Catalog')

plt.show()

我试图绘制[3,1]杆子图,我想更方便地控制轴属性和图形属性,代码行数更少,您可以这样做

catalogs=[(cata8q1,“旧目录”,“b”),…]
对于enumerate(目录)中的i(目录、标题、行FMT):
markerline,stemlines,baseline=ax[0]。stem(catalog.YearDeci,catalog.magnity,markerfmt='',use\u line\u collection=True,linefmt=linefmt)
plt.setp(茎线,线宽=0.5)
ax[i]。设置标题(标题)

您可以尝试使用重新复制的代码创建函数,并使用不同的参数运行此函数。@VGB如果对您有用,请随时验证此awser。