我有创建箱形图,时间序列和另一个箱形图的代码。我正在使用python 3.7.3。以下是该方案的摘要。如果我有这样的代码,请读取datasheet.csv
(第一个字段为csv
的{{1}}文件,其余字段为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")
为什么会这样?有没有办法在不更改图形生成顺序的情况下正确显示箱形图?
编辑:我想对为什么我被否决表示一些反馈。只是告诉我如何改进而不是默默地删除我的修改。
答案 0 :(得分:1)
我认为您可以使用x
更改默认的x='Date'
轴值。当您使用datasheet_df.plot()
函数的第二和第三位时,它也会自动采用x
格式的Data
进行其他打印。您可以通过在代码的第一部分box plot 1
之后重新绘制time series
来进行验证