Python 如何以索引为轴绘制列值

Python 如何以索引为轴绘制列值,python,dataframe,matplotlib,plot,seaborn,Python,Dataframe,Matplotlib,Plot,Seaborn,我有一个数据帧df: ColumnA ColumnB correlation dog1 cat1 3.6 dog2 cat2 2.9 dog3 cat3 -2.5 实际上,数据帧中有50行。为了简单起见,我在这里仅用3行来表示它 我想说明df['correlation']中给出的ColumnA和ColumnB之间的相关性。最好的办法是什么 其中一种选择可能是绘制此类绘图: 但是,我不知道如何使用matplotlib或任何其他python模块

我有一个数据帧df:

ColumnA  ColumnB  correlation
dog1     cat1     3.6
dog2     cat2     2.9
dog3     cat3     -2.5
实际上,数据帧中有50行。为了简单起见,我在这里仅用3行来表示它

我想说明
df['correlation']
中给出的
ColumnA
ColumnB
之间的相关性。最好的办法是什么

其中一种选择可能是绘制此类绘图:

但是,我不知道如何使用matplotlib或任何其他python模块绘制相同的图形。另外,如何在绘图上仅保留一个轴。例如,只保留左侧的ColumnA轴,并从右侧删除ColumnB轴

欢迎其他建议以更好的方式表示相同的内容。

使用我们可以绘制单列热图,然后调整y轴以放置附加标签:

fig,(cbar\u ax,box\u ax\u 0)=plt.子地块(
nrows=1,
ncols=2,
gridspec_kw={'width_ratio':[1,19]},
)
热图(
数据=df[“相关性”]。到_numpy()。重塑(-1,1),
不对,
fmt='.2f',
vmin=-5,
vmax=5,
正方形=真,
ax=box\u ax\u 0,
cbar_ax=cbar_ax,
)
#旋转第一组记号
框X 0.设置标签(df[“ColumnA”],旋转=“水平”)
#删除x轴记号
框X X X 0.X轴。设置刻度([])
#复制y轴
box_ax_1=box_ax_0.辅助轴(“右”)
#从第一个y轴复制记号
box\u ax\u 1.set\u yticks(box\u ax\u 0.get\u yticks())
#添加“ColumnB”标签
框1.设置标签(df[“ColumnB”])
#从次轴上移除脊椎
框X X 1.脊椎['右'].设置可见(假)
#调整布局,使颜色栏更靠近
plt.紧_布局()


如果要反转彩色贴图,可以在
sns.heatmap
函数调用中设置
cmap=“rocket\r”