Python數(shù)據(jù)分析與展示:matplotlib繪圖簡單示例
發(fā)布時間:2021-11-23 點擊數(shù):574
圖形的適用場景
關注分類變量各分類的比例,用餅圖 關注變量的頻率分布,用直方圖 關注變量的變化趨勢,用折線圖 關注兩個變量的相關,用散點圖 展示一個變量的集中趨勢和離散趨勢,用箱圖
導入庫
# -*- coding: utf-8 -*- # @File : pylot_demo.py # @Date : 2018-05-14 import numpy as np import matplotlib.pyplot as plt
餅圖的繪制
def plot_pie1(): labels = "Forgs", "Hogs", "Dogs", "Logs" sizes = [15, 30, 45, 10] explode = (0, 0.1, 0, 0) plt.pie(sizes, explode, labels, autopct='%1.1f%%', shadow=False, startangle=90) plt.savefig("pie1", dpi=600) plt.show()
def plot_pie2(): labels = "Forgs", "Hogs", "Dogs", "Logs" sizes = [15, 30, 45, 10] explode = (0, 0.1, 0, 0) plt.pie(sizes, explode, labels, autopct='%1.1f%%', shadow=False, startangle=90) plt.axis("equal") plt.savefig("pie2", dpi=600) plt.show()
直方圖的繪制
def plot_hist(): np.random.seed(0) mu, sigma = 100, 20 # 均值和標準差 a = np.random.normal(mu, sigma, size=100) # bins直方圖的個數(shù) plt.hist(a, 20, normed=1, histtype="stepfilled", facecolor="b", alpha=0.75) plt.title("histogram") plt.savefig("hist", dpi=600) plt.show()
繪制極坐標圖
def plot_polar(): N = 20 theta = np.linspace(0.0, 2*np.pi, N, endpoint=False) radii = 20 * np.random.randn(N) width = np.pi / 4 * np.random.randn(N) ax = plt.subplot(111, projection="polar") bars = ax.bar(theta, radii, width=width, bottom=0.0) for r, bar in zip(radii, bars): bar.set_facecolor(plt.cm.viridis(r/10.)) bar.set_alpha(0.5) plt.savefig("polar", dpi=600) plt.show()
繪制散點圖
def plot_scatter(): fig, ax = plt.subplots() ax.plot(10*np.random.randn(100), 10*np.random.randn(100), "o") ax.set_title("simple scatter") plt.savefig("scatter", dpi=600) plt.show()