Seaborn 用双 y 轴(twinx)绘制曲线并去除边框

Seaborn 用双 y 轴(twinx)绘制曲线并去除边框

在本文中,我们将介绍如何使用 Seaborn 库在双 y 轴(twinx)绘制曲线图,并且去除图形的边框。Seaborn 是一个功能强大的数据可视化库,具有丰富的绘图功能和美观的默认样式,可以帮助我们更加简便地实现复杂的数据可视化任务。

首先,我们需要导入 Seaborn 库和一些其他常用的数据处理和绘图库:

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
Python

接下来,我们生成一些示例数据用于绘制曲线图。这里我们以正弦函数为例,生成两组数据,分别使用不同的 y 轴刻度。具体代码如下:

x = np.linspace(0, 2 * np.pi, 100)
y1 = np.sin(x)
y2 = 2 * np.cos(x)

fig, ax1 = plt.subplots()

ax1.plot(x, y1, label='sin(x)', color='blue')
ax1.set_ylabel('y1')

ax2 = ax1.twinx()
ax2.plot(x, y2, label='2*cos(x)', color='red')
ax2.set_ylabel('y2')

fig.legend(loc='upper right')
plt.show()
Python

上述代码中,我们通过 plt.subplots() 创建了一个包含两个子图的图表。然后,我们使用 ax1.plot() 分别在第一个子图 ax1 和第二个子图 ax2 中分别绘制了 y1y2 的曲线图。接下来,使用 ax1.twinx() 创建了一个与 ax1 共享 x 轴的第二个 y 轴 ax2。通过设置 ax1.set_ylabel()ax2.set_ylabel() 分别给两个 y 轴设置了相应的刻度标签。最后,通过 fig.legend() 添加了图例,并使用 plt.show() 显示图表。

在绘制曲线图时,默认情况下,Seaborn 会添加一些边框和背景样式。如果我们不需要这些边框,可以使用 sns.despine() 函数去除它们。具体代码如下:

fig, ax1 = plt.subplots()

ax1.plot(x, y1, label='sin(x)', color='blue')
ax1.set_ylabel('y1')

ax2 = ax1.twinx()
ax2.plot(x, y2, label='2*cos(x)', color='red')
ax2.set_ylabel('y2')

fig.legend(loc='upper right')
sns.despine(fig=fig, top=True, right=True, left=True, bottom=True)
plt.show()
Python

在上述代码中,我们在绘图前调用了 sns.despine() 函数,并通过设置 top=True, right=True, left=True, bottom=True 去除了图形的四条边框。

阅读更多:Seaborn 教程

总结

本文介绍了如何使用 Seaborn 库在双 y 轴(twinx)绘制曲线图,并且去除图形的边框。通过简单的示例代码,我们学会了如何利用 Seaborn 和 Matplotlib 库实现这一功能,为我们的数据可视化任务带来更多的灵活性和美观性。希望本文对你有所帮助!

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程