1. 在终端安装matplotlib库 :
Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。
尝试新的跨平台 PowerShell https://aka.ms/pscore6
(venv) PS D:\home> pip install matplotlib
2. 创建一个名为Chart
的类,包含创建折线图、柱形图、条形图和堆积图的方法:
# 导入matplotlib库中的pyplot模块
import matplotlib.pyplot as plt
# 显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
class Chart:
def __init__(self, data1,title1, data2,title2, data3,title3, title4):
self.data1 = data1
self.title1 = title1
self.data2 = data2
self.title2 = title2
self.data3 = data3
self.title3 = title3
self.title4 = title4
def chart_plot(self):
plt.plot(range(len(self.data1)), self.data1,color='red')# len()函数表示计算个数,range类型表示一个数字序列
plt.plot(range(len(self.data2)), self.data2, color='blue')
plt.plot(range(len(self.data3)), self.data3, color='green')
plt.title(self.title1)
plt.show()
def chart_bar(self):
plt.bar(range(len(self.data2)), self.data2,color='orange',width=bar_width)
plt.title(self.title2)
plt.show()
def chart_barh(self):
plt.barh(range(len(self.data3)), self.data3,color='green',height=0.3)
plt.title(self.title3)
plt.show()
def chart_stackplot(self):
plt.stackplot(range(len(self.data1)), self.data1, color='red')
plt.stackplot(range(len(self.data2)), self.data2, color='blue')
plt.stackplot(range(len(self.data3)), self.data3, color='green')
plt.title(self.title4)
plt.show()
3. 使用Chart
类创建折线图、柱形图、条形图和堆积图:
if __name__ == "__main__":
# 示例数据
data1 = [45,75,51,78,66,88,95]
title1 = '折线图'
data2 = [30,36,47,36,51,74,66]
title2 = '柱形图'
bar_width = 0.3
data3 = [5,15,32,25,31,45,41]
title3 = '条形图'
title4 = '堆积图'
# 创建Chart对象
charts = Chart(data1,title1, data2,title2, data3,title3, title4)
# 创建折线图
charts.chart_plot()
# 创建柱形图
charts.chart_bar()
# 创建条形图
charts.chart_barh()
# 创建堆积图
charts.chart_stackplot()
4. 运行结果效果图: