欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Matplotlib繪圖基礎(chǔ)之文本標注詳解

 更新時間:2023年08月02日 09:39:41   作者:databook  
Matplotlib?文本和標注可以為數(shù)據(jù)和圖形之間提供額外的信息,幫助觀察者更好地理解數(shù)據(jù)和圖形的含義,下面就將通過示例依次介紹文本和標注的常用使用方式

Matplotlib 文本和標注可以為數(shù)據(jù)和圖形之間提供額外的信息,幫助觀察者更好地理解數(shù)據(jù)和圖形的含義。

文本用于在圖形中添加注釋或提供更詳細的信息,以幫助觀察者理解圖形的含義。

標注則是一種更加細粒度的文本信息,可以被用來為特定的數(shù)據(jù)點或區(qū)域提供更詳細的信息。

本篇通過示例依次介紹文本和標注的常用使用方式。

1. 文本

文本在圖形中主要用在標題,坐標軸,圖形中的一些說明等等地方。

1.1. 顏色和字體

下面的示例演示了圖形中各個部分文本的字體大小和顏色設(shè)置的方法:

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
y = x*x 
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
#設(shè)置 標題 的字體和顏色
ax.set_title("標題", fontdict={"fontsize": 25, "color": "r"})
#設(shè)置 X軸和Y軸 標簽的字體和顏色
ax.set_xlabel("x軸", fontdict={"fontsize": 20,"color": "g"})
ax.set_ylabel("y軸", fontdict={"fontsize": 20,"color": "b"})
#按照坐標位置(2, 60)添加一段文本
ax.text(2, 60, "f(x) = x*x", fontdict={"fontsize": 15,"color": "k"})
ax.plot(x, y, label="sin")
ax.legend()

需要掌握的部分就是 fontdict 這個參數(shù),這個字典還有其他參數(shù)可以控制字體,這里只演示了兩個常用的參數(shù):

  • fontsize:字體大小設(shè)置
  • color:文字顏色

1.2. latex公式

上面的示例中,f(x) = x*x 可以 latex的方式來顯示。

latex讓能夠顯示各種復雜的數(shù)學公式,讓文本看起來和數(shù)學書中一樣。

x = np.linspace(0, 10, 100)
y = x*x 
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
#設(shè)置 標題 的字體和顏色
ax.set_title("標題", fontdict={"fontsize": 25, "color": "r"})
#設(shè)置 X軸和Y軸 標簽的字體和顏色
ax.set_xlabel("x", fontdict={"fontsize": 20,"color": "g"})
ax.set_ylabel("$x^2$", fontdict={"fontsize": 20,"color": "b"})
#按照坐標位置(2, 60)添加一段文本
ax.text(2, 60, "$f(x) = x^2$", fontdict={"fontsize": 15,"color": "k"})
ax.plot(x, y, label="sin")
ax.legend()

上面將 Y軸的文本圖形中間的數(shù)學公式改成了 latex 格式。

2. 標注

圖形添加標注時,一般包含2個部分,一個指向數(shù)據(jù)的箭頭,一段說明文字。
設(shè)置標注的核心參數(shù)是:

  • xy:這是待標注的數(shù)據(jù)點的坐標
  • xytext:標注文本的坐標,一般是文本的左上角的點
  • bbox:文本框的樣式字典
  • arrowprops:箭頭的樣式字典

下面的示例中,通過設(shè)置上面4個參數(shù)來演示幾種常用的標注:

x = np.array(range(10))
y = np.array([89, 84, 30, 67, 41, 71, 62, 20, 89, 3])
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
ax.plot(x, y)
ax.annotate(
    "第一個值",
    xy=(0, 89),
    xytext=(-0.3, 70),
    arrowprops={"arrowstyle": "->", "connectionstyle": "arc3,rad=-0.5"},
)
ax.annotate(
    "轉(zhuǎn)折點一",
    xy=(2, 30),
    xytext=(1.8, 10),
    bbox={"boxstyle": "round", "fc": "none", "ec": "g"},
    arrowprops={"arrowstyle": "->"},
)
ax.annotate(
    "轉(zhuǎn)折點二",
    xy=(3, 67),
    xytext=(3, 85),
    bbox={"boxstyle": "round", "fc": "lightblue", "ec": "r"},
    arrowprops={"arrowstyle": "fancy"},
)
ax.annotate(
    "最大值",
    xy=(8, 89),
    xytext=(6, 85),
    bbox={"boxstyle": "round", "alpha":0.1},
    arrowprops={"arrowstyle": "wedge,tail_width=0.8", "alpha":0.1},
)

  • 第一個值:設(shè)置了箭頭的彎曲度
  • 轉(zhuǎn)折點一:設(shè)置了邊框
  • 轉(zhuǎn)折點二:設(shè)置了邊框和背景色,同時設(shè)置了另一種箭頭樣式
  • 最大值:設(shè)置了邊框和另一種箭頭的透明度。

3. 總結(jié)

在使用 Matplotlib 進行數(shù)據(jù)可視化時,合理使用文本和標注可以大大提高圖形的可讀性和易懂性,幫助觀察者更好地理解數(shù)據(jù)和圖形的含義。

但是,分析結(jié)果中是最重要的還是圖形和數(shù)據(jù),文本和標注不宜過度添加,也不能太花哨,以致喧賓奪主,本末倒置。

到此這篇關(guān)于Matplotlib繪圖基礎(chǔ)之文本標注詳解的文章就介紹到這了,更多相關(guān)Matplotlib文本標注內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論