Python图表绘制Matplotlib
引入
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 导入相关模块
使用 |
# 图表窗口1 → plt.show() plt.plot(np.random.rand(10)) plt.show() # 直接生成图表 |
特点:使用后无需写 show() | # 图表窗口2 → 魔法函数,嵌入图表 %matplotlib inline x = np.random.randn(1000) y = np.random.randn(1000) plt.scatter(x,y) # 直接嵌入图表,不用plt.show() # <matplotlib.collections.PathCollection at ...> 代表该图表对象 |
# 图表窗口3 → 魔法函数,弹出可交互的matplotlib窗口 %matplotlib notebook s = pd.Series(np.random.randn(100)) s.plot(style = 'k--o',figsize=(10,5)) # 可交互的matplotlib窗口,不用plt.show() # 可做一定调整 |
|
# 图表窗口4 → 魔法函数,弹出matplotlib控制台 %matplotlib qt5 df = pd.DataFrame(np.random.rand(50,2),columns=['A','B']) df.hist(figsize=(12,5),color='g',alpha=0.8) # 可交互性控制台 # 如果已经设置了显示方式(比如notebook),需要重启然后再运行魔法函数 # 网页嵌入的交互性窗口 和 控制台,只能显示一个 #plt.close() # 关闭窗口 #plt.gcf().clear() # 每次清空图表内内容 |
|
图标的基础元素 | 图名、图裂、轴标签、轴边界、轴刻度、轴刻度标签 |
plt.title('全国人大代表季度考核') #标题 list.plot(figsize=(6,4)) 图标的大小 plt.legend(loc='best') #图裂的位置
best 自适应 upper right upper left lower left lower right right center left center right lower center upper center center
|
|
完整演示 |
import numpy as np ts.plot(kind='line', 创建 子图 fig,axes = plt.subplots(4,1,figsize = (10,10)) s.plot(kind='bar',color = 'k',grid = True,alpha = 0.5,ax = axes[0]) # ax参数 → 选择第几个子图 df.plot(kind='bar',ax = axes[1],grid = True,colormap='Reds_r') plt.figure(figsize=(10,4)) |
几种类型:
记住几个点就行
在matplotlib中,整个图像为一个Figure对象 在Figure对象中可以包含一个或者多个Axes对象 每个Axes(ax)对象都是一个拥有自己坐标系统的绘图区域 plt.figure, plt.subplot #创建一个容器 盒子 fig = plt.figure(figsize=(10,6),facecolor = 'gray') #容器添加子图 第几行第几个 ax1 = fig.add_subplot(2,2,1) # 第一行的左图 |