我准备了一个代码,它使用带子模块的导入模块作为matplotlib。我在Jupyter中执行了以下代码。 代码如下:
def run:
plot_chart(a,b,c)
print(10*'-')
run()
输出如下:
----------
<chart_graphics>
plot_chart()
调用matplotlib.pyplot来创建图表。显示结果时,print()
的输出显示在plot_chart()
的输出之前。为什么这样,我该怎么做才能订购与代码执行相同的顺序?
Note this is a repeat question from a previous question to which I have not received any replies.
函数plot_chart()
调用模块中的函数plot_trunc_gr_model()
:
import numpy as np
import matplotlib.pyplot as plt
from openquake.hmtk.plotting.seismicity.catalogue_plots import \
(get_completeness_adjusted_table, _save_image)
....
....
def plot_trunc_gr_model(aval, bval, min_mag, max_mag, dmag, catalogue=None,
completeness=None, figure_size=None, filename=None, filetype='png',
dpi=300):
"""
Plots a Gutenberg-Richter model
"""
input_model = TruncatedGRMFD(min_mag, max_mag, dmag, aval, bval)
if not catalogue:
# Plot only the modelled recurrence
annual_rates, cumulative_rates = _get_recurrence_model(input_model)
plt.semilogy(annual_rates[:, 0], annual_rates[:, 1], 'b-')
plt.semilogy(annual_rates[:, 0], cumulative_rates, 'r-')
plt.xlabel('Magnitude', fontsize='large')
plt.ylabel('Annual Rate', fontsize='large')
plt.legend(['Incremental Rate', 'Cumulative Rate'])
plt.savefig(filename, dpi=resolution, format=filetype)
else:
completeness = _check_completeness_table(completeness, catalogue)
plot_recurrence_model(input_model,
catalogue,
completeness,
input_model.bin_width,
figure_size,
filename,
filetype,
dpi)
已编辑 - 解决方案如下
我找到了与matplotlib的plt.savefig()
函数有关的解决方案,这导致了不正确的输出显示顺序。我使用plt.show()
并且完美无缺。因此,这是一个相关的问题,或者有些人可能会说类似的问题,您如何确定这是否是一个重复的问题?