Bagaimana cara mengambil titik tengah setiap batang dalam histogram dan menggambar garis yang menghubungkan titik tengah tersebut menggunakan matplotlib.

Ini contoh datanya

test_scores = [55,45,88,75,43,56,89,98,55,54,65,77,88,81,82,89,92,98,65,\
               76,76,73,72,84] 
test_scores1 = [55,45,88,73,43,55,89,98,44,54,65,77,80,81,84,89,92,98,65,\
                71,75,73,70,81] 
bins = [10,20,30,40,50,60,70,80,90,100]
plt.hist(test_scores, bins, histtype='bar') 
plt.hist(test_scores1, bins, histtype='bar')
plt.show()
1
Sun 17 November 2017, 07:02

1 menjawab

Jawaban Terbaik

Fungsi hist() mengembalikan tepi bin dan tingginya. Kita dapat menggunakannya untuk menghitung pusat batang dan menggabungkannya menjadi garis sebagai berikut:

import numpy as np
import matplotlib.pyplot as plt

test_scores = [55,45,88,75,43,56,89,98,55,54,65,77,88,81,82,89,92,98,65,\
               76,76,73,72,84] 
test_scores1 = [55,45,88,73,43,55,89,98,44,54,65,77,80,81,84,89,92,98,65,\
                71,75,73,70,81] 
bins = [0,10,20,30,40,50,60,70,80,90,100]

#y,edges,_ = plt.hist(test_scores1, bins)
y,edges = np.histogram(test_scores1, bins)
centers = 0.5*(edges[1:]+ edges[:-1])
plt.plot(centers,y,'-*')
plt.show()
0
17 November 2017, 05:03