Python绘制图表对角线
时间: 2025-05-11 18:45:07 浏览: 19
### 使用Matplotlib绘制带对角线的图表
为了实现这一目标,可以通过调用`matplotlib.pyplot`模块中的函数来完成。下面是一个简单的例子,展示了如何创建一个带有对角线的散点图。
```python
import numpy as np
import matplotlib.pyplot as plt
# 创建一些随机数据用于绘图
np.random.seed(0)
x = np.random.rand(50)
y = np.random.rand(50)
plt.figure(figsize=(8, 8)) # 设置画布大小
plt.scatter(x, y) # 绘制散点图
lims = [
np.min([plt.xlim(), plt.ylim()]), # 找到当前轴限界的最小值
np.max([plt.xlim(), plt.ylim()]) # 找到当前轴限界的最大值
]
plt.plot(lims, lims, 'k-', alpha=0.75, zorder=0) # 添加对角线
plt.xlim(lims)
plt.ylim(lims)
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.show()
```
这段代码首先设置了图形窗口尺寸并生成了一些随机数作为样本点坐标,接着利用`scatter()`方法绘制这些点,并通过计算得到适合显示整个图像范围内的极限值,最后使用`plot()`命令添加一条从左下角延伸至右上角的直线即所谓的“对角线”。
如果希望进一步美化图表样式,则可以考虑采用Seaborn库来进行操作:
### 使用Seaborn绘制带对角线的图表
由于Seaborn建立于Matplotlib之上,因此也可以很方便地在其基础上加入自定义线条等元素。这里给出一段类似的代码片段说明具体做法。
```python
import seaborn as sns
import pandas as pd
df = pd.DataFrame({
'x': x,
'y': y
})
sns.set_theme(style="white")
g = sns.jointplot(data=df, x='x', y='y', kind="reg", color="m", height=8)
ax_joint = g.ax_joint
lims = ax_joint.get_xlim()
ax_joint.plot(lims, lims, '--r') # 在联合分布图中添加红色虚线形式的对角线
ax_joint.set_xlim(lims)
ax_joint.set_ylim(lims)
plt.show()
```
上述脚本先设定了整体的主题风格,再借助Pandas构建了一个DataFrame对象存储之前产生的两组随机数值序列;之后运用`sns.jointplot()`快速生成了一张包含回归拟合曲线在内的二维密度估计图(Joint Plot),并通过访问其内部属性获取到了主区域对应的Axes实例以便后续修改;最终同样实现了沿45度方向贯穿全屏的效果[^2]。
阅读全文
相关推荐


















