数据可视化——Matplotlib02

本文深入探讨了使用Matplotlib进行数据可视化的技巧,包括如何保存图片、绘制不同类型的条形图如常规、多序列、水平及堆积条形图。重点介绍了bar和barh函数的参数,如facecolor、edgecolor、alpha等,以及如何调整横坐标标签。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

保存图片

  • plt.savefig()
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False#用来正常显示正负号
x = np.linspace(1, 10, 10)
y = np.cos(x)
y1 = np.sin(x)
plt.plot(x, y, '*-', linewidth=8, alpha=0.3, drawstyle='steps', \
			label='y=cos(x)')
plt.plot(x, y1, '*-', linewidth=8, alpha=0.3, drawstyle='steps', \
			label='y=sin(x)')
plt.title('我的Matlpotlib图')
plt.legend()#位置可换,默认为系统认为最好的地方
plt.text(2, 0.75, 'y=sin(x)', weight='bold', color='b')
plot.show()
plt.savefig("D:/Learn/数据可视化/Matplotlib_01.jpg") #保存

在这里插入图片描述

条形图

plt.bar()

  • facecolor : 填充色,
  • edgecolor : 边框颜色,
  • lw : 边框宽度,
  • alpha : 透明度
  • 倒着画data写为-data,
  • hatch : 填充形状,
  • tick_label : 改横坐标
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
data = np.random.randint(1,11,10)
plt.bar(x, data, width=0.5, facecolor='pink', edgecolor='red', \
		lw=3, alpha=0.3, hatch='***', \
        tick_label=['2012','2013','2014','2015','2016','2017', \
        			'2018','2019','2020','2021'])
plt.show()

在这里插入图片描述

多序列条形图

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
index = np.arange(5)
data1 = [3,4,6,8,9]
data2 = [11,23,6,5,1]
data3 = [12,6,21,8,26]

a = 0.25 #把一个空间分成3部分,定义a值为0.25,三个占0.75,剩0.25的空格
plt.title('multi bar chart') #图形标题
#第一个图形
plt.bar(index, data1, a, color='lightgreen', label='data1') 
#第二个图形
plt.bar(index+a, data2, a, color='lightskyblue', label='data2')
 #第三个图形
plt.bar(index+2*a, data3, a, color='lightsalmon', label='data3') 
plt.legend() #图例

在这里插入图片描述

水平条形图

plt.barh()
参数和plt.bar()相同

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
index = np.arange(5)
data1 = [3,4,6,8,9]
data2 = [11,23,6,5,1]
data3 = [12,6,21,8,26]
#把一个空间分成3部分,定义a值为0.25,三个占0.75,剩0.25的空格
a = 0.25
plt.title('multi bar chart')
plt.barh(index, data1, a, color='lightgreen', label='data1')
plt.barh(index+a, data2, a, color='lightskyblue', label='data2')
plt.barh(index+2*a, data3, a, color='lightsalmon', label='data3')
plt.legend()

在这里插入图片描述

多序列条形图转换为堆积条形图

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
index = np.arange(5)
data1 = np.array([3,4,6,8,9])
data2 = np.array([11,23,6,5,1])
data3 = np.array([12,6,21,8,26])
plt.title('multi bar chart')
plt.bar(index, data1, color='lightgreen', label='data1')
plt.bar(index, data2, bottom=data1, color='lightskyblue', label='data2')
plt.bar(index, data3, bottom=(data2+data1), color='lightsalmon', label='data3')
plt.legend()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值