辅助轴和日期x轴错误

时间:2018-10-10 01:34:49

标签: python numpy matplotlib

我想制作一个带有辅助轴的图形,以便更好地表示数据。 y轴是一次转换,y轴是显示体积的条形图。

我的数据框是:

df
     date_nk            channel_sk   dauli     dau  dauliPdau
  2018-09-01    mobile_app|android  271166  319648   0.848327
  2018-09-02    mobile_app|android  306497  362779   0.844859
  2018-09-03    mobile_app|android  311189  365406   0.851625
  2018-09-04    mobile_app|android  302114  354216   0.852909
  2018-09-05    mobile_app|android  301301  352287   0.855271

用于绘制带有次要y轴图的图形代码是:

sns.set()
fig, (ax1) = plt.subplots(nrows=1, ncols=1,figsize=(15,8))

st = fig.suptitle("Total active users log in (DAULI) / Total active users 
(DAU)", fontsize=15)
st.set_y(0.95)

# First graph
ax1.plot(df['date_nk'],df['dauliPdau'], 
color='darkblue',marker='o',label='mobile_app|android')

ax1.legend(bbox_to_anchor=(1, 1), loc=2, borderaxespad=0.)

ax1v = ax1.twinx()

ax1v.bar(df['date_nk'] , df['dauliPdau'])

每当我运行代码时,都会出现以下错误:

  

TypeError:ufunc减法不能使用类型为dtype('

1 个答案:

答案 0 :(得分:0)

  1. 如果我运行您的代码,就没有错误;生成以下图:

enter image description here

  1. 我在您发布的代码中的任何地方都看不到任何减法,因此完全不清楚该错误消息可能在何处引发;可能是您没有发布的一部分。

  2. 我不知道您所说的“转换”和“体积”是什么意思,您说的是在主要和次要y轴上显示的。但是在您的代码中,您将相同的数据放在了线图和条形图这两个绘图命令中:
    ax1.plot(df['date_nk'], df['dauliPdau'], ...
    ax1v.bar(df['date_nk'], df['dauliPdau'])

  3. 除了我想提及的是,您不需要ax1行中fig, ax1 = plt.subplots(...)周围的括号。