20 鱼币
本帖最后由 风船野 于 2021-8-11 22:36 编辑
求各位大佬有什么修改意见或其他方法,画双纵轴图时显示出四个图标。
在画双纵轴坐标时,出现:A proxy artist may be used instead.报错,
在网上查找后都是下图解决方案:
按提示添加逗号修改方案后又得到:too many values to unpack (expected 1)报错。
代码如下: bar_width = 0.4
x_1 = list(range(len(x1)))
x_2 = [i + bar_width for i in x_1]
y_1 = df_weekend["营业收入"].values
y_2 = df_week["营业收入"].values
y_3 = df_weekend["订单笔数"].values
y_4 = df_week["订单笔数"].values
fig = plt.figure(figsize=(23, 9), dpi=100)
ax1 = fig.add_subplot(111)
ax2 = ax1.twinx()
l1, = ax1.bar(x_2, y_2, width=bar_width, label="工作日") # 修改添加逗号部分
l2, = ax1.bar(x_1, y_1, width=bar_width, label="周末")
ax1.set_xlabel("时间", fontproperties=my_font)
ax1.set_ylabel("收入/元", fontproperties=my_font)
ax1.set_xticks(x_1)
ax1.set_xticklabels(x1)
ax1.set_yticks(range(0, 10000, 500))
plt.title("周末与工作日收入比关系图", fontproperties=my_font, fontsize=20)
l3, = ax2.plot(x_1, y_3, label="周末", color="red")
l4, = ax2.plot(x_1, y_4, label="工作日", color="cyan")
ax2.set_ylabel("笔", fontproperties=my_font)
ax2.set_yticks(range(0, 70, 5))
plt.legend([l1, l2, l3, l4], ["工作日", "周末", "工作日", "周末"], loc=2, prop=my_font) # 图标显示部分
for tl in ax1.get_xticklabels():
tl.set_rotation(45)
tl.set_fontsize(15)
plt.savefig("./周末与工作日收入比关系图.png")
plt.show() 复制代码
我又尝试了下面显示多图标方法:
lns = l1 + l2 + l3 + l4
labs = [l.get_label() for l in lns]
ax1.legend(lns, labs, prop=my_font, loc=4) 复制代码
结果报错:
各位大佬有什么修改意见或其他方法,目标显示出四个图标。
我来回答