我正在使用Scipy。
我的运行会话中有心率(数组)和max_Distance数据。我尝试在运行时在日期上创建一个心率的箱形图,并在同一图表中绘制我的最大距离的点图。
我可以制作Dot-Plots或Boxplots,但我不能将它们组合成一个具有相同x轴的图。
我遇到的另一个问题:Boxplots写了他们的' x-Position'作为x轴的标签。 但是有几个日期他们重叠,我什么都看不懂。 如果Boxplot没有在x轴上绘制任何标签并且只写了几个线性展开日期,我会优先考虑(不确定它是否清楚我所说的是什么,我的意思是像正常xy中的值一样 - 点图不是每个点的位置都标记在x轴上。)
我尝试编写一个最小的代码示例,但不幸的是我无法创建数据变量。所以我试着展示我的数据情况(抱歉,对于糟糕的迷你示例)。在这个迷你示例中,两个图上都有自己的工作正常,但如果我尝试同时绘制两个图,我只看到Boxplot。
setDate = array(['2016-05-10T01:00:00.000000000+0100',
'2016-05-20T02:00:00.000000000+0200',
'2016-05-24T02:00:00.000000000+0200'], dtype='datetime64[ns]')
setDistance = [5.8,
6.8,
6.5]
setPlace_color = ['b',
'r',
'b']
heartrate_bins = [2 133.0
3 145.0
5 142.0
Name: Heartrate, dtype: float64,
17 96.0
19 135.0
20 140.0
Name: Heartrate, dtype: float64,
21 142.0
22 145.0
Name: Heartrate, dtype: float64]
代码
# Create the Figure
fig = plt.figure()
ax1 = fig.add_subplot(111)
# Plot the Distance
for i in range(0, 4): ax1.plot(setDate[i], setDistance[i], 'o', color=setPlace_color[i])
# Calculate the x-Position for the Boxplot
z = np.array([0]).astype(setDate.dtype)
plt_dates = (setDate - z) / np.timedelta64(1,'D')
# Plot the HR with Boxplots
ax2 = ax1.twinx()
ax2.boxplot(heartrate_bins, positions = plt_dates, sym='')