Matplotlib 简明教程
Matplotlib - Text properties
Matplotlib 中的 Text properties 是指可以配置来控制图中文本元素的外观和布局的一组属性。这些属性包含各种特性,例如 -
-
font style
-
color
-
size
-
alignment, and more.
通过操纵这些属性,你可以定制图中文本的可视化方面。
控制 Matplotlib 中的文本属性和布局涉及配置 matplotlib.text.Text 实例的各种属性。可以通过 set_title、set_xlabel 和 text 等函数中的关键字参数调整这些属性。
下面,我们将探讨 Matplotlib 中的关键文本属性以及示例。
Text layout and positioning properties
文本布局和定位是将文本元素放置和对齐在图中的关键方面。下表列出了属性及其详细信息。
-
Position − 指定放置文本的坐标 (x, y)。
-
Rotation − 定义文本的旋转角度。选项包括度数、“垂直”或“水平”。
-
Horizontal Alignment (ha) − 指定文本沿 x 轴的对齐方式。选项包括“居中”、“右”和“左”。
-
Vertical Alignment (va) − 控制文本沿 y 轴的对齐方式。选项包括“居中”、“顶部”、“底部”和“基线”。
-
Multialignment − 对于换行符分隔的字符串,此属性控制不同行的左对齐、居中对齐或右对齐。
Example
此示例演示了应用各种布局和定位属性。
import matplotlib.pyplot as plt
# Create a figure
fig, ax = plt.subplots(figsize=(7, 4))
# Set the axis limits
plt.axis((0, 10, 0, 10))
# Add text with various layout and positioning properties
ax.text(5, 7, 'Centered Text with 0 rotation', horizontalalignment='center', verticalalignment='center', rotation=0)
ax.text(1, 5, 'Right Aligned Text with 90 degrees rotation', ha='right', va='center', rotation=90)
ax.text(9, 5, 'Left Aligned Text with -90 degrees rotation', ha='left', va='center', rotation=-90)
ax.text(5, 2, 'Multiline\nText', ha='center', va='center', multialignment='center')
# Display the plot
plt.show()
print('Text is added successfully with the various layout and positioning properties..')
执行上述代码,我们将得到以下输出 −
Text is added successfully with the various layout and positioning properties..
Text color and transparency properties
颜色和透明度属性增强了绘图中文本元素的视觉外观。
-
color − 指定文本的颜色。这可以是任何有效的 matplotlib 颜色。
-
backgroundcolor − 定义文本后面的背景颜色。可以使用任何有效的 matplotlib 颜色设置它。
-
alpha − 表示文本的透明度。它被指定为一个浮点数,其中 0.0 是完全透明,而 1.0 是完全不透明。
Example
此示例演示如何在 Matplotlib 中使用颜色和透明度属性。
import matplotlib.pyplot as plt
# Create a figure
fig, ax = plt.subplots(figsize=(7, 4))
# Set the axis limits
plt.axis((0, 10, 0, 10))
# Add text with color and transparency properties
ax.text(3, 8, 'Plain text without any property')
ax.text(3, 6, 'Colored Text', color='blue')
ax.text(3, 4, 'Background Color', backgroundcolor='yellow')
ax.text(3, 2, 'Transparent Text', alpha=0.5)
# Display the plot
plt.show()
print('Text added successfully...')
执行上述代码,我们将得到以下输出 −
Text added successfully...
Different font properties
字体属性对于自定义绘图中文本元素的外观至关重要。这些属性允许控制用于渲染文本的字体的类型、风格、粗细、大小、变体和名称。
-
Family − 指定要使用的字体类型,例如“衬线体”、“非衬线体”或“等宽字体”。
-
Style or Fontstyle − 确定字体的样式,选项包括“正常”、“斜体”或“倾斜”。
-
Weight or Fontweight − 字体的粗细或加粗程度。选项包括“正常”、“粗体”、“加重”、“轻”、“超粗体”和“超细体”。
-
Size or Fontsize − 指定字体的大小,单位为磅或“较小”或“特大号”等相对大小。
-
Name or Fontname − 将字体的名称定义为字符串。示例包括“Sans”、“Courier”、“Helvetica”等。
-
Variant − 描述字体变体,选项包括“正常”或“小写大写”。
Example
此示例演示如何使用各种字体属性自定义 Matplotlib 中文本的外观。
import matplotlib.pyplot as plt
# Create a figure
fig = plt.figure(figsize=(7, 4))
# Set the axis limits
plt.axis((0, 10, 0, 10))
# Define a long string
sample_text = ("Tutorialspoint")
# Add text at various locations with various configurations
plt.text(0, 9, 'Oblique text placed at the center with a 25-degree rotation',
fontstyle='oblique', fontweight='heavy', ha='center', va='baseline', rotation=45, wrap=True)
plt.text(7.5, 0.5, 'Text placed at the left with a 45-degree rotation', ha='left', rotation=45, wrap=True)
plt.text(5, 5, sample_text + '\nMiddle', ha='center', va='center', color='green', fontsize=24)
plt.text(10.5, 7, 'Text placed at the right with a -45-degree rotation', ha='right', rotation=-45, wrap=True)
plt.text(5, 10, 'Sans text with oblique style is placed at the center', fontsize=10, fontname='Sans',
style='oblique', ha='center', va='baseline', wrap=True)
plt.text(6, 3, 'A serif family text is placed right with the italic style', family='serif',
style='italic', ha='right', wrap=True)
plt.text(-0.5, 0, 'Small-caps variant text is placed at the left with a -25-degree rotation',
variant='small-caps', ha='left', rotation=-25, wrap=True)
# Display the plot
plt.show()
print('Text added successfully...')
执行上述代码,我们将得到以下输出 −
Text added successfully...
The bounding box and Clipping Properties
边界框和裁剪属性用于控制绘图中文本元素的布局和可见性。这些属性包括为文本指定边界框、定义裁剪参数以及启用或禁用裁剪。
-
Bbox − 为文本定义边界框。它包含颜色、填充等属性。
-
Clip Box and Clip Path − 指定边界框或路径以裁剪文本。这些属性允许你控制文本可见区域。
-
Clip On − 布尔值,指示是否启用裁剪。设置为 True 时,文本将裁剪到指定区域。
Example
此示例演示了在向绘图添加文本时使用边界框和裁剪属性。
import matplotlib.pyplot as plt
# Create a figure
fig = plt.figure(figsize=(7, 4))
# Set the axis limits
plt.axis((0, 10, 0, 10))
# Add text with bounding box and clipping properties
plt.text(3, 7, 'Text with Bounding Box', bbox={'facecolor': 'yellow', 'edgecolor': 'blue', 'pad': 5})
plt.text(3, 5, 'Clipped Text', bbox={'facecolor': 'lightgreen', 'edgecolor': 'darkgreen', 'pad': 5}, clip_on=True)
# Display the plot
plt.show()
print('Text added successfully...')
执行上述代码,我们将得到以下输出 −
Text added successfully...