在Python中進行數據可視化時,如何讓圖表更加美觀易懂呢?除了調整顏色、線型等基本屬性外,我們還可以利用字體的視覺效果來突出某些數據。本文將介紹通過為數字添加不同的字體,提升Python數據可讀性的方法。
一、字體庫的選擇
為了讓數字具備不同的視覺效果,我們需要使用不同的字體。在Python中,我們可以使用Pillow庫來處理圖像,通過它,我們可以使用Windows系統內置的字體,也可以使用其他外部字體。我們可以在Google Fonts和DaFont等網站上找到自己喜歡的字體。注意,使用外部字體需要先將字體文件下載到本地。
from PIL import Image, ImageDraw, ImageFont
#載入Windows系統內置字體
font = ImageFont.truetype('arial.ttf', 40)
#載入外部字體
font = ImageFont.truetype('path/to/font.ttf', 40)
二、使用不同的字體
在所選的字體中,不同的字形可能會產生完全不同的視覺效果。我們可以根據數據的大小、重要性等進行選擇。比如,如果我們希望突出某些重要的數據,可以使用較大號、比較濃重的字體;如果我們希望凸顯整體趨勢,可以使用較小號、較輕的字體。下面是一個使用不同字體突出重要數據的實際例子:
img = Image.new('RGB', (300, 100), (255, 255, 255))
draw = ImageDraw.Draw(img)
#普通數字
draw.text((30, 40), '1234567890', font=font, fill=(0, 0, 0))
#重要數據使用大號粗體字體
font_bold = ImageFont.truetype('arialbd.ttf', 60)
draw.text((30, 0), '7', font=font_bold, fill=(0, 0, 0))
img.show()
三、借鑒已有的可視化方法
實際上,在Python數據可視化中,已經有一些方法使用了不同字體來呈現數據。比如,Seaborn庫中的heatmap圖像就使用了不同字體的視覺效果來區分不同的數值大小:
import seaborn as sns
import matplotlib.pyplot as plt
flights = sns.load_dataset("flights")
flights = flights.pivot("month", "year", "passengers")
sns.heatmap(flights, annot=True, fmt="d", cmap='YlOrBr',
linewidths=.5, cbar=False,
annot_kws={'fontfamily':'monospace', 'fontsize':10})
plt.show()
我們可以在這些已有的方法中,發掘一些可用的視覺效果,應用到自己的數據可視化中。當然,我們也可以結合自己的需求,創造出更適合自己數據的視覺效果。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/200759.html
微信掃一掃
支付寶掃一掃