У меня есть код, который создает блок-график, затем временной ряд, затем другой блок-график. Я использую Python 3.7.3. Ниже приведена выработка сценария. Если у меня есть такой код, читая из datasheet.csv
(файл csv
с первым полем как Date
, а остальные как field1
, field2
и т. Д.):
import matplotlib.pyplot as plt
import pandas as pd
field1 = "field1"
field2 = "field2"
field3 = "field3"
field4 = "field4"
field5 = "field5"
datasheet_df = pd.read_csv("datasheet.csv")
# Make box plot 1
datasheet_df.boxplot([field1, field2], vert=False)
plt.savefig("boxplot1.png")
# Make box plot 2
datasheet_df.boxplot([field3, field4, field5], vert=False)
plt.savefig("boxplot2.png")
# Make time series
datasheet_df.plot(x='Date', y=[field1, field2])
plt.savefig("timeseries.png")
Мыправильно получить три цифры:

Однако, если я просто но код временного ряда перед кодом блочного графика, оба блочных графика будут разрушены. Вот как мой код на самом деле. Соответствующий код, приведенный выше для этого изменения, будет выглядеть следующим образом:
...
# Make time series
datasheet_df.plot(x='Date', y=[field1, field2])
plt.savefig("timeseries.png")
# Make box plot 1
datasheet_df.boxplot([field1, field2], vert=False)
plt.savefig("boxplot1.png")
# Make box plot 2
datasheet_df.boxplot([field3, field4, field5], vert=False)
plt.savefig("boxplot2.png")
...
Это приводит к следующим изображениям: 
Почему это происходит? Есть ли способ получить правильное отображение графиков без изменения порядка генерации фигур?
РЕДАКТИРОВАТЬ: Я хотел бы получить некоторые отзывы о том, почему я был понижен в голосовании;просто скажи мне, как я могу улучшить, а не молча удалять свои правки.