我是靠谱客的博主 超帅电源,最近开发中收集的这篇文章主要介绍matplotlib和pandas模块子图绘制总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在一幅图中绘制多个图案的方法很多,这阶段自学只要学会matplotlib和pandas模块中各自一种绘制图案即可。各自方法如下:(基于python语言编写)

import matplotlib.pyplot as plt
from matplotlib import gridspec
import matplotlib
import numpy as np
matplotlib.rcParams['font.family'] = 'Kaiti'
# 由于matplotlib默认不显示中文,这里将中文显示设置为‘楷体’
plt.rcParams['axes.unicode_minus'] = False
# 显示负号
# plt方法一:网格构造
def plt_test1():
plt.figure(figsize=(12, 6), dpi=80)
gs = gridspec.GridSpec(2,2)
ax1 = plt.subplot(gs[:, 0])
ax1.plot(np.arange(5), label='ax1')
ax1.set_title('test1')
ax1.legend()
ax2 = plt.subplot(gs[:, 1])
ax2.bar(list('abcdefghij'), np.linspace(-1, 1, 10), label='ax2')
ax2.set_title('test2')
ax2.legend()
plt.show()
return None
# plt方法二: subplot方法
def plt_test2():
plt.figure(figsize=(12, 6), dpi = 80)
plt.subplot2grid((2,3), (0,0), rowspan = 2)
# 创建一个图片网络,大小2行3列,从左上开始,选取2行绘图
plt.plot(np.arange(4))
plt.title('第一幅图')
plt.subplot2grid((2,3), (0,1), colspan=2)
plt.bar(list('abcd'), [i for i in range(4)])
plt.title('第二幅图')
plt.subplot2grid((2,3), (1,1))
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
plt.title('第三幅图')
# ....
其他画图省略,过程基本相似
plt.show()
return None
# pandas统计过程中的一个图中多个子图绘制 ---->>> 以Titanic号为例
# 这部分代码在anaconda可运行,应该是主要进行数据分析用到的,在sypder上运行报错。好像。。。
def pd_plot():
f, ax = plt.subplots(1,2, figsize=(12,6))
# 创建一个1行2列图纸, 这个方法好像只能创建一行的。返回这个图的对象f和子图的列表ax,,,可索引
data['Survived'].value_counts().plot.pie(explode=[0, 0.1], autopct='%1.1f%%', ax=ax[0], shadow=True)
ax[0].set_title('是否遇难所占比例')
data['Survived'].value_counts().plot.bar(ax=ax[1])
ax[1].set_title('是否遇难具体人数')
plt.show()
return None

总算是写完了,自己本来翻阅资料也是看懂了,但是当自己敲起来代码时发现自己还是太年轻了,总之,这是第一次写博客,本身自己也是初学者,好多词语用的还不规范,不管怎样,努力学下去吧。

最后

以上就是超帅电源为你收集整理的matplotlib和pandas模块子图绘制总结的全部内容,希望文章能够帮你解决matplotlib和pandas模块子图绘制总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部