【问题标题】:Error with secondary axis and date x axis次轴和日期 x 轴出错
【发布时间】:2018-10-10 15:02:35
【问题描述】:

我想制作一个带有辅助轴的图表,以便更好地表示数据。主要 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'])

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

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

【问题讨论】:

    标签: python numpy matplotlib


    【解决方案1】:
    1. 如果我运行你的代码,没有错误;生成以下图:

    1. 我在您发布的代码中没有看到任何减法,因此完全不清楚该错误消息可能在哪里抛出;可能在你没有发布的部分。

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

    3. 除此之外,我想提一下,您不需要在 fig, ax1 = plt.subplots(...) 行中的 ax1 周围加上括号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多