Python 画图右半轴

在数据可视化和图表绘制中,经常会遇到需要绘制右半轴的情况。右半轴可以帮助我们更清晰地展示数据之间的关系,提升图表的可读性。在Python中,我们可以使用不同的库来实现这一功能,比如Matplotlib和Seaborn等。

Matplotlib 实现右半轴

Matplotlib是一个强大的绘图工具,提供了丰富的绘图功能。下面我们通过一个简单的示例来演示如何在Matplotlib中绘制右半轴的图表。

首先,我们需要导入Matplotlib库,并创建一个简单的折线图:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

fig, ax1 = plt.subplots()

ax1.plot(x, y1, 'r-')
ax1.set_xlabel('X data')
ax1.set_ylabel('Y1 data', color='r')

ax2 = ax1.twinx()
ax2.plot(x, y2, 'b-')
ax2.set_ylabel('Y2 data', color='b')

plt.show()

在上面的代码中,我们首先创建了两个数据集 y1y2,分别代表正弦函数和余弦函数。然后,我们使用 plt.subplots() 创建一个画布和一个子图 ax1,绘制 y1 的折线图,并设置 y1 的标签颜色为红色。接着,我们通过 ax1.twinx() 创建一个与 ax1 共享 x 轴的新子图 ax2,绘制 y2 的折线图,并设置 y2 的标签颜色为蓝色。

运行上述代码,我们就可以看到绘制了带有右半轴的图表。

Seaborn 实现右半轴

Seaborn是基于Matplotlib的数据可视化库,提供了更简洁、更美观的绘图样式。下面我们通过一个示例来演示如何在Seaborn中绘制右半轴的图表。

首先,我们需要导入Seaborn库,并创建一个简单的柱状图:

import seaborn as sns
import matplotlib.pyplot as plt

data = {'A': [1, 2, 3, 4],
        'B': [10, 20, 30, 40],
        'C': [100, 200, 300, 400]}

df = pd.DataFrame(data)

sns.barplot(data=df)
plt.ylabel('Left Y axis')
plt.show()

在上面的代码中,我们首先创建了一个包含三列数据的DataFrame df,然后使用 sns.barplot() 绘制柱状图。最后,我们通过 plt.ylabel() 设置左侧 y 轴的标签。

接着,我们使用 plt.twinx() 创建一个新子图,并绘制一条直线:

plt.twinx()
plt.plot([1, 2, 3, 4], [5, 6, 7, 8], color='r')
plt.ylabel('Right Y axis', color='r')
plt.show()

在上面的代码中,我们使用 plt.twinx() 创建了一个与之前图表共享 x 轴的新子图,并绘制了一条红色的直线。最后,我们通过 plt.ylabel() 设置右侧 y 轴的标签颜色为红色。

运行上述代码,我们就可以看到绘制了带有右半轴的图表。

关系图示例

下面是一个关系图的示例,展示了不同元素之间的关系:

erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
CUSTOMER }|..| CUSTOMER ENTITY : buy

在上面的关系图中,我们可以看到 CUSTOMERORDER 之间的关系是 placesORDERLINE-ITEM 之间的关系是 containsCUSTOMERCUSTOMER ENTITY 之间的关系是 buy

序列图示例

下面是一个序列图的示