Python数据可视化绘制图表(折线图,柱形图,堆积面积图)

一,折线图

#导入模块

import numpy as np
import matplotlib.pyplot as plt

# 准备x,y轴的数据

x = np.arange(1,9)  
y1 = np.array([32,33,35,37,32,34,37,39])
y2 = np.array([12,13,14,13,12,14,16,18])
# 再取一条为平均值的折线
y_maen = (y_max + y_min)/2

​

# 绘制折线(其中label参数为命名显示图例,方便直接使用)

plt.plot(x, y_max, color='r',label='max', linewidth=3, linestyle='-')   #linewidth参数表示折线的宽度
plt.plot(x, y_min, color='k',label='min', linewidth=7, linestyle=':')   # linestyle参数表示折线的类型
plt.plot(x, y_maen, color='g',label='max', linewidth=5, linestyle='--')  
plt.legend()  #显示图例
plt.show()

完整代码如下

#导入模块
import numpy as np
import matplotlib.pyplot as plt


# 准备x,y轴的数据
x = np.arange(1,9)  
y1 = np.array([32,33,35,37,32,34,37,39])
y2 = np.array([12,13,14,13,12,14,16,18])
# 再取一条为平均值的折线
y_maen = (y_max + y_min)/2


# 2.绘制折线(其中label参数为命名显示图例,方便直接使用)
plt.plot(x, y_max, color='r',label='max', linewidth=3, linestyle='-')   #linewidth参数表示折线的宽度
plt.plot(x, y_min, color='k',label='min', linewidth=7, linestyle=':')   # linestyle参数表示折线的类型
plt.plot(x, y_maen, color='g',label='max', linewidth=5, linestyle='--')  
plt.legend()  #显示图例
plt.show()

运行后,效果图如下

二,柱状图或堆积柱状图

1,  多组柱形的柱形图(在设置x时,多加一个柱形的宽度(bar_width)即可分开两组柱形)

# 准备x,y轴的数据,并提前设置好宽度

#导入模块
import numpy as np
import matplotlib.pyplot as plt

# 准备x,y轴的数据
x = np.arange(5)  
y1 = np.array([32,33,35,37,32])
y2 = np.array([12,13,14,13,12])

#设置每个柱子的宽度
bar_width = 0.3

#绘制对比柱形图

plt.bar(x, y1, tick_label=['a','b','c','d','e'], width=bar_width)  
plt.bar(x+bar_width, y2, width=bar_width)  #x+bar_width用于分开y1,y2两柱
plt.show()

运行后,效果图如下

2,堆积柱形图 (通过bottom实现)并且其他代码与上图相同

#绘制对比柱形图
plt.bar(x, y1, tick_label=['a','b','c','d','e'], width=bar_width)
plt.bar(x, y2, bottom=y1, width=bar_width)
plt.show()

 运行后,效果图如下


3,带误差棒的柱状图(偏差数据是均值加减标准差,上面的线条是用来标示组间比较的)

#添加误差棒的偏差数据
error = [2,3,3,3,3]

#绘制对比柱形图
plt.bar(x, y1, tick_label=['a','b','c','d','e'], width=bar_width)
plt.bar(x, y2, bottom=y1, width=bar_width, yerr=error) #通过yerr参数来添加误差棒
plt.show()

 运行后,效果图如下

三,堆积面积图

  堆积面积图y轴的数据的起点不同,是由下而上堆积而起的填充面积图。

# 准备x,y轴的数据

x = np.arange(6)  
y1 = np.array([32,33,35,37,32,30])
y2 = np.array([22,23,22,23,22,24])
y3 = np.array([12,13,14,13,12,19])

# 绘制堆积面积图,并从上而下设置颜色

plt.stackplot(x, y1, y2, y3, colors=['blue', 'orange', 'yellow'])  #用colors参数添加,单color只能添加一种颜色
plt.show()

完整代码如下

 

#导入模块
import numpy as np
import matplotlib.pyplot as plt

# 准备x,y轴的数据
x = np.arange(6)  
y1 = np.array([32,33,35,37,32,30])
y2 = np.array([22,23,22,23,22,24])
y3 = np.array([12,13,14,13,12,19])

# 绘制堆积面积图,并从上而下设置颜色
plt.stackplot(x, y1, y2, y3, colors=['blue', 'orange', 'yellow'])  #用colors参数添加,单color只能添加一种颜色
plt.show()

运行后,效果图如下

四,补充内容

matplotlib颜色表 

matplotlib线段类型

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值