Matplotlib学习笔记(二)

Author Avatar
Brian Lee 3月 25, 2018
  • 在其它设备中阅读本文章

内容承接Matplotlib学习笔记(一)

基础图表函数

函数 说明
plt.plot(x, y, fmt,…) 绘制一个坐标图
plt.boxplot(data, notch, position) 绘制一个箱形图
plt.bar(left, height, width, bottom) 绘制一个条形图
plt.barh(width, bottom, left, height) 绘制一个横向条形图
plt.polar(theta, r) 绘制极坐标图
plt.pie(data, explode) 绘制饼图
plt.psd(x, NFFT=256, pad_to, Fs) 绘制功率谱密度图
plt.specgram(x, NFFT=256, pad_to, F) 绘制谱图
plt.cohere(x, y, NFFT=256, Fs) 绘制X‐Y的相关性函数
plt.scatter(x, y) 绘制散点图,其中,x和y长度相同
plt.step(x, y, where) 绘制步阶图
plt.hist(x, bins, normed) 绘制直方图
plt.contour(X, Y, Z, N) 绘制等值图
plt.vlines() 绘制垂直图
plt.stem(x, y, linefmt, markerfmt) 绘制柴火图
plt.plot_date() 绘制数据日期

饼图的绘制

函数

plt.pie(sizes, explode, labels, autopct, shadow, startangle)
  • sizes: 各部分的大小
  • explode: 是否突出
  • labels: 每一部分所对应的标签
  • autopct: 数字的显示格式
  • shadow: 是否有阴影
  • startangle: 起始角度(顺时针方向)

示例代码

import matplotlib.pyplot as plt

labels = 'Basketball', 'Tennis', 'Football','Baseball'
sizes = [30, 15, 45, 10]
explode = (0, 0.1, 0, 0)

plt.pie(sizes, explode = explode, labels = labels, autopct = '%1.1f%%', 
        shadow = False, startangle = 180)
plt.axis('equal')
plt.show()

结果为:

饼图


直方图的绘制

函数

plt.hist(a, bin, normed, histtype, facecolor, alpha)
  • a: 输入数组
  • bin: 直方的个数
  • normed: 为1时,将每个 直方中出现的元素归一化为出现概率,所以纵坐标为小数比例
  • histtype: 直方图类型
  • facecolor: 颜色
  • alpha: 尺寸比例

示例代码

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(0)
mu, sigma = 100, 20 #均值和标准差
a = np.random.normal(mu, sigma, size = 100) #产生一个正态数组

plt.hist(a, 10, normed = 1, histtype = 'stepfilled', 
         facecolor = 'b', alpha = 0.75)
plt.title('Histogram')

plt.show()

结果为:

直方图


极坐标图

函数

ax = plt.subplot(111, projection = "polar")
bars = ax.bar(theta, radii, width = width)
  • theta: 每一区域的开始角度
  • radii: 每一区域从中心到圆边的长度
  • width: 每一区域的弧度

示例代码

import numpy as np
import matplotlib.pyplot as plt

N = 20
theta = np.linspace(0.0, 2 * np.pi, N, endpoint = False)
radii = 10 * np.random.rand(N)  #生成0-10数组
width = np.pi / 4 * np.random.rand(N)

ax = plt.subplot(111, projection = "polar")
bars = ax.bar(theta, radii, width = width)

for r , bar in zip(radii, bars):
    bar.set_facecolor(plt.cm.viridis(r / 10.))
    bar.set_alpha(0.5)

plt.show()

结果为:

极坐标


散点图

示例代码

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(10 * np.random.randn(100), 10 * np.random.randn(100), 'o')
ax.set_title('simple scatter')

plt.show()

结果为:

散点图


本博客采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!
本文链接:http://brianleelxt.top/2018/03/25/mat-learn2/