使用Matplotlib简单绘图

一幅图中各个组件名称

绘制多幅图

import numpy as np
import matplotlib.pyplot as plt
plt.style.use("ggplot")# 显示的风格
def f(t):
    return np.exp(-t)*np.cos(2*np.pi*t)
t1 = np.arrange(0.0,5.0,0.1)
t2 = np.arrange(0.0,5.0,0.02)

plt.figure(1) # 创建一个图
plt.subplot(211) # 在figure上创建一个2行1列的图,并且当前选中第1个图
# 绘制(t1,f(t1))和(t2,f(t2)),一个以曲线形式,一个以点的形式。
plt.plot(t1,f(t1),'bo',t2,f(t2),'k') 

plt.subplot(212)# 继续选中2行1列的图中的第二个图
plt.plot(t2,np.cos(2*np.pi*t2), 'r--')# 在第二个图上显示cos的图
plt.show()

结果如下图所示:


设置坐标轴信息

import numpy as np
import matplotlib.pyplot as plt
plt.style.use("ggplot")
np.random.seed(19680801)
mu,sigma = 100,15
x = mu+sigma*np.random.randn(10000)#生成10000服从正态分布的数
# 显示一个直方图,分成50组,
n,bins,patches = plt.hist(x,50,normed =1, facecolor = 'g',alpha=0.75)
# 设置x、y坐标轴的属性信息,信息、字体大小以及颜色
plt.xlabel('Smarts',fontsize =14, color = 'red')
plt.ylabel("Probability",fontsize = 14, color = 'blue')
plt.title("histogram of IQ")# 显示图标题
# 在x = 60,y = 0.025处显示latex公式
plt.text(60, .025, r'$\mu=100,\ \sigma=15$')# 
plt.axis([40,160,0,0.03])# 设置坐标轴范围,x范围40~160,y范围0~0.03
plt.grid(True)# 显示方格
plt.tight_layout()# 消除图片周边的空白
# 设置刻度的大小
plt.xticks(fontsize = 20)
plt.yticks(fontsize = 20)

plt.show()

结果如下图所示:



text更多的属性信息。
文本信息显示数学公式

设置显示风格

import numpy as np
import matplotlib.pyplot as plt
plt.style.use('ggplot')# 设置R语言包的风格
# 查看可用的显示风格,风格如下:可以自己尝试不同的风格
print(plt.style.available)
"""
['seaborn-darkgrid', 'seaborn-dark-palette', 'seaborn-deep', 'seaborn-colorblind', 'seaborn-bright', 'seaborn-whitegrid', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-pastel', 'dark_background', 'ggplot', 'seaborn-dark', 'bmh', 'seaborn-white', 'grayscale', 'classic', 'seaborn-muted', 'seaborn-paper', 'seaborn-notebook', 'fivethirtyeight']
"""

设置图例

import matplotlib.pyplot as plt
import numpy as np
plt.style.use("fivethirtyeight")# 设置风格
x = np.linspace(0,2,100)
plt.plot(x, x, label='linear') # label 用于显示图例
plt.plot(x, x**2, label='quadratic')# label 用于显示图例
plt.plot(x, x**3, label='cubic')# label 用于显示图例
plt.xlabel('x label')
plt.ylabel('y label')
plt.title("simple plot")
plt.legend()# 显示图例
plt.tight_layout() # 紧凑布局
# 设置图例的显示位置以及字体大小
plt.legend(loc = 'upper right',fontsize = 20)
plt.show()

结果如下图所示:



正确显示中文字符

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签

猜你喜欢

转载自blog.csdn.net/t46414704152abc/article/details/80044551