Python matplotlib:使用matplotlib繪制--柱狀圖和折線圖的組合。
廢話不多說,直接上效果圖和代碼。
代碼如下:
#柱狀圖
import numpy as np
import matplotlib.pyplot as plt
C1 = '#99CCFF'
#C2 = '#CCFFFF'
C2 = '#CCCCFF'
C3 = "#6699CC"
AAA = [227.74,165.24,146.42]
BBB = [234.78,188.48,158.94]
CCC = [284.83,200.33,162.23]
#CNN_RLSTM = [0.9016,0.8636,0.9435]
#x = ['REST','LAPT','AUTO']
x = np.arange(3) #總共有幾組,就設置成幾,我們這裡有三組,所以設置為3
total_width, n = 0.8, 3 # 有多少個類型,隻需更改n即可,比如這裡我們對比了四個,那麼
#就把n設成4
width = total_width / n
x = x - (total_width - width) / 2
'''
#plt.bar用于繪制柱狀圖
plt.bar(x, AAA, color = C2,width=width,label='AAA ') ###或者color C2可以換成默認
plt.bar(x width, BBB, color = C1,width=width,label='BBB')
plt.bar(x 2 * width, CCC , color = C3,width=width,label='CCC')
'''
###或者color C2可以換成默認
plt.bar(x, AAA, color = 'r',width=width,label='AAA ') ###或者color C2可以換成默認
plt.bar(x width, BBB, color = 'y',width=width,label='BBB')
plt.bar(x 2 * width, CCC , color = 'k',width=width,label='CCC')
#plt.bar(x 3 * width, CNN_RLSTM , color = "g",width=width,label='CNN-RLSTM')
plt.xlabel("LUT")
plt.ylabel("Energy(KWh)")
plt.legend(loc = "best")
plt.xticks([0,1,2],['0.1','0.2','0.3'])
my_y_ticks = np.arange(120, 300, 50)
plt.ylim((150, 300))
plt.yticks(my_y_ticks)
AAA_plot = [2*0.16325,2* 0.13622, 2*0.11936]
BBB_plot = [2*0.1752, 2*0.14554,2*0.13491]
CCC_plot = [2*0.15599, 2*0.15473, 2*0.1956]
ax2 = plt.twinx() # 用于繪制雙Y軸,重點。
'''
ax2.plot(x width, AAA_plot, color=C2)
ax2.plot(x width, BBB_plot, color=C1)
ax2.plot(x width, CCC_plot, color=C3)
'''
# 折線也可換顔色
ax2.plot(x width, AAA_plot, color='r')
ax2.plot(x width, BBB_plot, color='y')
ax2.plot(x width, CCC_plot, color='k')
ax2.set_ylim([0, 0.4])
my_y_ticks = np.arange(0, 0.4, 0.1)
plt.ylim((0, 0.4))
plt.yticks(my_y_ticks)
plt.show()
# 大功告成,謝謝觀看。
喜歡點擊關注、收藏。麼麼哒(^_^)
,