matplotlib - 使用 seaborn 包关闭联合图上的 x 轴边缘分布轴
问题描述
这里有一个类似的问题,但是我无法根据我的情况调整提供的解决方案。
我想要一个联合图,kind=hex
同时删除 x 轴的边缘图,因为它不包含任何信息。在链接的问题中,建议直接使用 JointGrid,但是 Seaborn 似乎无法绘制 hexbin 图。
joint_kws = dict(gridsize=70)
g = sns.jointplot(data=all_data, x="Minute of Hour", y="Frequency", kind="hex", joint_kws=joint_kws)
plt.ylim([49.9, 50.1])
plt.xlim([0, 60])
g.ax_joint.axvline(x=30,ymin=49, ymax=51)
plt.show()
plt.close()
- 如何删除 x 轴上的边距图?
- 为什么不画垂直线?
- 还有一种方法可以将右边距交换为更类似于密度的图吗?
编辑:这是数据集的样本(33kB)。阅读它pd.read_pickle("./data.pickle")
解决方案
我一直在摆弄一个模拟问题(使用散点图而不是 hexbin)。最后,您的第一点的解决方案非常简单。只需添加这一行:
g.ax_marg_x.remove()
关于你的第二点,我不知道为什么没有画线。但是一种解决方法似乎是vlines
改用:
g.ax_joint.vlines(x=30, ymin=49, ymax=51)
关于你的最后一点,恐怕我还没有理解。如果您的意思是增加/减少子图之间的边距,您可以使用doc 中space
所述的参数。
推荐阅读
- python - 如何在两个数据框中查找一个值并在一个数据框中的匹配行上添加一个新值
- r - ggplot facet_wrap 不同的主题
- sql - 仅在满足条件时才使用 CHECK 语句
- python-xarray - Xarray - 在不同空间区域上定义的合并集
- python-3.x - 带有导航抽屉的 kivy 屏幕中未显示标签
- java - 是否可以在 VSCode 中进行 JAR 运行配置,如果可以,如何?
- webrtc - WebRTC可以用于IOT的后端数据传输吗?
- r - R Shiny Question --> Dynamicly Sort DataTable (Top/Bottom)
- unity3d - PUN2:这是否推荐用于刚体同步状态和碰撞?
- python - 使用外部变量在 Python 中创建静态函数