概述
- 首先导入必要的包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 在jupyter画图时,添加下面三行,设置中文字体,防止中文乱码
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
- 绘制并列柱状图(以两个柱子为例)
1.1 利用pandas绘制
data = np.random.rand(10,2)
# 生成数据
idx = [i for i in range(3, 13)]
# 可以设置索引
df = pd.DataFrame(data, columns=['列1', '列2'], index=idx)
# df = pd.DataFrame(data, columns=['列1', '列2'])
# 使用默认索引
ax = df.plot(kind='bar')
ax.set_xlabel('年份')
# 设置x轴标签
ax.set_ylabel('分数') # 设置y轴标签
fig = ax.get_figure()
# 用于保存图片
fig.savefig('pic.png')
# 保存为png格式
1.2 利用plt直接绘制
name_list = ['apple', 'banana', 'car', 'dog'] # 设置横坐标的刻度名称
y_list1 = [0.63,
0.96, 0.73,
0.9]
# 纵坐标
y_list2
= [0.51,
0.87, 0.83,
0.81]
# 纵坐标
x =np.arange(len(name_list))
width = 0.25
# 设置柱子的宽度和间隔
# bar参数说明:前两个分别为x和y; width: 表示柱子宽度; label: 图例名称,所代表的类别; fc: 设置颜色
plt.bar(x, y_list1, width=width, label='列1',fc = 'deepskyblue')
x = x + width
#plt.bar(x, y_list2, width=width, label='列2', fc = 'orange', tick_label = name_list)
# 下两句的效果和上面这一句差不多,只是上面一句设置的x轴标签不是居中的
plt.bar(x, y_list2, width=width, label='列2', fc = 'orange')
plt.xticks(x-width/2, tick_label)#显示x坐标轴的标签,并调整位置,使其落在两个直方图中间位置
plt.legend()
# 显示图例
plt.title("利用plt绘制")
# 设置表格标题
plt.savefig("pic2.png")
# 保存图片
plt.show()
# 展示图片
# 需要注意的是, 保存图片的时候, plt.savefig()应该放在plt.show()前面,否则保存的图片将会是空白图片.
# 个人猜测原因可能是调用show之后, 就会把这个对象清空吧.
2. 堆叠图
2.1 利用pandas画堆叠图
data = np.random.rand(10,3)
# 生成数据
idx = [i for i in range(3, 13)]
# 可以设置索引
df = pd.DataFrame(data, columns=['列1', '列2', '列3'], index=idx)
# df = pd.DataFrame(data, columns=['列1', '列2'])
# 使用默认索引
ax = df.plot(kind='bar', stacked=True)
ax.set_xlabel('年份')
# 设置x轴标签
ax.set_ylabel('分数') # 设置y轴标签
fig = ax.get_figure()
# 用于保存图片
#fig.savefig('pic.png')
# 保存为png格式
显然,和上面用pandas画并列柱状图的方法是一样的,只是在plot的时候,把参数设置为 stacked=True
参考链接与推荐链接
- plt画图
- pandas中文网可视化的教学与例子
- pandas中文网中关于plot的参数说明
- matplotlib.pyplot的官方介绍与应用举例,参数说明
- 菜鸟教程里的Matplotlib 教程(中文的)
事实上,对于一些很出名的库,直接去官网上查找教程,反而是最简单且最详细的,甚至还有一些有中文教程,提供给我们阅读。
以上,如有错误,还望指出。
最后
以上就是虚拟羽毛为你收集整理的利用python的plt进行可视化的全部内容,希望文章能够帮你解决利用python的plt进行可视化所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复