Python Pandas并排绘制两个BARH
发布时间:2020-12-20 12:00:18 所属栏目:Python 来源:网络整理
导读:我想制作一个类似这样的情节, 左侧图表(带图例的图表)源自df_2,右侧图表源自df_1. 但是,我无法将这两个图并排分享y轴. 这是我目前绘制的方式: df_1[target_cols].plot(kind='barh',x='LABEL',stacked=True,legend=False)df_2[target_cols].plot(kind='barh'
我想制作一个类似这样的情节,
左侧图表(带图例的图表)源自df_2,右侧图表源自df_1. 但是,我无法将这两个图并排分享y轴. 这是我目前绘制的方式: df_1[target_cols].plot(kind='barh',x='LABEL',stacked=True,legend=False) df_2[target_cols].plot(kind='barh',stacked=True).invert_xaxis() plt.show() 代码将在两个不同的“画布”中产生两个图. >如何让它们并排共享y轴? 任何建议将不胜感激.谢谢. 解决方法
您可以使用plt.subplots(sharey = True)创建共享子图.然后将数据帧绘制到两个子图.
import pandas as pd import numpy as np import matplotlib.pyplot as plt a = np.random.randint(5,15,size=10) b = np.random.randint(5,size=10) df = pd.DataFrame({"a":a}) df2 = pd.DataFrame({"b":b}) fig,(ax,ax2) = plt.subplots(ncols=2,sharey=True) ax.invert_xaxis() ax.yaxis.tick_right() df["a"].plot(kind='barh',legend=False,ax=ax) df2["b"].plot(kind='barh',ax=ax2) plt.show() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |