Python 在同一绘图中绘制多个图形时,如何处理for循环?
模板程序可以工作,但缺点是plot()有很多行。如何将plot()的6行替换为有效的for循环? 我将如何处理索引和标签Python 在同一绘图中绘制多个图形时,如何处理for循环?,python,python-3.x,for-loop,indexing,Python,Python 3.x,For Loop,Indexing,模板程序可以工作,但缺点是plot()有很多行。如何将plot()的6行替换为有效的for循环? 我将如何处理索引和标签 """ # Import import matplotlib.pyplot as plt # Experimental data y_data = [] y_data.append([21.2, 32.5, 42.1, 54.5, 23.5]) y_data.append([17.2, 27.6, 35.7, 45.8
"""
# Import
import matplotlib.pyplot as plt
# Experimental data
y_data = []
y_data.append([21.2, 32.5, 42.1, 54.5, 23.5])
y_data.append([17.2, 27.6, 35.7, 45.8, 27.1])
y_data.append([25.7, 34.1, 34.7, 50.3, 31.3])
y_data.append([11.2, 32.5, 45.1, 54.5, 23.5])
y_data.append([27.4, 25.6, 45.7, 37.8, 25.1])
y_data.append([23.4, 22.1, 54.7, 45.3, 19.3])
# For x-axis
x_data = range(1, len(y_data[1])+1)
# %% Repetitve use of plot
# The following code plots the data but is repetitive
#
fig1 = plt.figure()
plt.plot(x_data, y_data[0], label='Expt on 31-01-18')
plt.plot(x_data, y_data[1], label='Expt on 02-02-18')
plt.plot(x_data, y_data[2], label='Expt on 05-02-18')
plt.plot(x_data, y_data[3], label='Expt on 07-02-18')
plt.plot(x_data, y_data[4], label='Expt on 10-02-18')
plt.plot(x_data, y_data[5], label='Expt on 17-02-18')
plt.legend()
plt.xlabel('input')
plt.ylabel('output')
plt.grid()
plt.show()
您可以按顺序计算的项,可以编码为循环序列。 不规则更改的项目,您将其放入列表中。 您已经有了这种数据处理技术;只需将其扩展到标签即可
label_list = [
'Expt on 31-01-18',
'Expt on 02-02-18',
'Expt on 05-02-18',
'Expt on 07-02-18',
'Expt on 10-02-18',
'Expt on 17-02-18'
]
for plot_num in range(6):
plt.plot(x_data, y_data[plot_num], label=label_list[plot_num])
什么样的模板程序?请显示您试图运行的代码。不要使用有问题的图片,只需将文本复制到问题本身,使我们更容易帮助您。抱歉,已修复!