Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะพล็อตความแตกต่างของการแจกแจงสองครั้งใน Matplotlib ได้อย่างไร


ในการพล็อตผลต่างของการแจกแจงสองครั้งใน Matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้ -

  • กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย

  • สร้าง a และ ชุดข้อมูลโดยใช้ Numpy

  • รับ kdea และ kdeb กล่าวคือ การแสดงค่าประมาณความหนาแน่นเคอร์เนลโดยใช้เมล็ดเกาส์เซียน

  • สร้างตารางโดยใช้ Numpy

  • พล็อตคาดด้วย kdea(grid), kdeb(grid) และ kdea(grid)-kdeb(grid) โดยใช้ plot() วิธีการ

  • วางคำอธิบายที่มุมบนซ้าย

  • หากต้องการแสดงรูป ให้ใช้ show() วิธีการ

ตัวอย่าง

import numpy as np
import matplotlib.pyplot as plt
import scipy.stats

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

a = np.random.gumbel(50, 28, 100)
b = np.random.gumbel(60, 37, 100)

kdea = scipy.stats.gaussian_kde(a)
kdeb = scipy.stats.gaussian_kde(b)

grid = np.linspace(0, 50, 100)

plt.plot(grid, kdea(grid), label="Kde A")
plt.plot(grid, kdeb(grid), label="Kde B")
plt.plot(grid, kdea(grid)-kdeb(grid), label="Difference")

plt.legend(loc='upper left')

plt.show()

ผลลัพธ์

จะพล็อตความแตกต่างของการแจกแจงสองครั้งใน Matplotlib ได้อย่างไร