如何在Matplotlib中更好地栅格化图表而不模糊标签?

如何在Matplotlib中更好地栅格化图表而不模糊标签?

为了更好地栅格化Matplotlib中的图标,而不模糊标签,我们可以采取以下步骤。

步骤

  • 设置图形大小并调整子图之间和周围的填充。

  • 创建一个图形和一组子图。

  • 轴0 -使用alpha和rasterized=False填充曲线之间的区域。

  • 将文本添加到轴中。

  • 轴1 – 使用alpha和rasterized=True填充曲线之间的区域。

  • 将文本添加到轴中。

  • 轴2和3 – 使用alpha,rasterized=True和False不带填充曲线之间的区域,分别。

  • 将文本添加到轴中。

  • 要显示图形,请使用Show()方法。

示例

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

fig, axes = plt.subplots(nrows=4, sharex=True)

axes[0].fill_between(np.arange(1, 10), 1, 2, zorder=-1, alpha=0.2, rasterized=False)
axes[0].text(5, 1.5, "Label 1", ha='center', va='center', fontsize=25, zorder=-2, rasterized=True)

axes[1].fill_between(np.arange(1, 10), 1, 2, zorder=-1, alpha=0.2, rasterized=True)
axes[1].text(5, 1.5, "Label 2", ha='center', va='center', fontsize=25, zorder=-2, rasterized=True)

axes[2].fill_between(np.arange(1, 10), 1, 2, zorder=-1, rasterized=True)
axes[2].text(5, 1.5, "Label 3", ha='center', va='center', fontsize=25, zorder=-2, rasterized=True)

axes[3].fill_between(np.arange(1, 10), 1, 2, zorder=-1, rasterized=False)
axes[3].text(5, 1.5, "Label 4", ha='center', va='center', fontsize=25, zorder=-2, rasterized=True)

plt.show()

输出

它将产生以下输出

如何在Matplotlib中更好地栅格化图表而不模糊标签?

请注意,由于我们没有在轴2和3上使用任何“alpha”,标签是不可见的。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程