matplotlib常用操作
Posted pythonlearing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matplotlib常用操作相关的知识,希望对你有一定的参考价值。
1.根据坐标点绘制:
import numpy as np import matplotlib.pyplot as plt x = np.array([1,2,3,4,5,6,7,8]) y = np.array([3,5,7,6,2,6,10,15]) plt.plot(x,y,‘r‘)# 折线 1 x 2 y 3 color plt.plot(x,y,‘g‘,lw=10)# 4 line w # 折线 饼状 柱状 x = np.array([1,2,3,4,5,6,7,8]) y = np.array([13,25,17,36,21,16,10,15]) plt.bar(x,y,0.2,alpha=1,color=‘b‘)# 5 color 4 透明度 3 0.9 plt.show()
import matplotlib.pyplot as plt import numpy as np #从-1-----1之间等间隔采66个数.也就是说所画出来的图形是66个点连接得来的 #注意:如果点数过小的话会导致画出来二次函数图像不平滑 x = np.linspace(-1, 1,66) # 绘制y=2x+1函数的图像 y = 2 * x + 1 plt.plot(x, y) plt.show() # 绘制x^2函数的图像 y = x**2 plt.plot(x, y) plt.show()
figure的使用:
""" figure的使用 """ import matplotlib.pyplot as plt import numpy as np # x = np.linspace(-1, 1, 50) # figure 1 y1 = 2 * x + 1 plt.figure() plt.plot(x, y1) # figure 2 y2 = x**2 plt.figure() plt.plot(x, y2) # figure 3,指定figure的编号并指定figure的大小, 指定线的颜色, 宽度和类型 #一个坐标轴上画了两个图形 y2 = x**2 plt.figure(num = 5, figsize = (4, 4)) plt.plot(x, y1) plt.plot(x, y2, color = ‘red‘, linewidth = 1.0, linestyle = ‘--‘) plt.show()
一共会画出三张图,前两张和上面的简单案例画出来的两张一样。第三张:
设置坐标轴:
import matplotlib.pyplot as plt import numpy as np # 绘制普通图像 x = np.linspace(-1, 1, 50) y1 = 2 * x + 1 y2 = x**2 plt.figure() plt.plot(x, y1) plt.plot(x, y2, color = ‘red‘, linewidth = 1.0, linestyle = ‘--‘) # 设置坐标轴的取值范围 plt.xlim((-1, 1)) plt.ylim((0, 3)) # 设置坐标轴的lable #标签里面必须添加字体变量:fontproperties=‘SimHei‘,fontsize=14。不然可能会乱码 plt.xlabel(u‘这是x轴‘,fontproperties=‘SimHei‘,fontsize=14) plt.ylabel(u‘这是y轴‘,fontproperties=‘SimHei‘,fontsize=14) # 设置x坐标轴刻度, 之前为0.25, 修改后为0.5 #也就是在坐标轴上取5个点,x轴的范围为-1到1所以取5个点之后刻度就变为0.5了 plt.xticks(np.linspace(-1, 1, 5)) plt.show()
# 获取当前的坐标轴, gca = get current axis ax = plt.gca() # 设置右边框和上边框 ax.spines[‘right‘].set_color(‘none‘) ax.spines[‘top‘].set_color(‘none‘) # 设置x坐标轴为下边框 ax.xaxis.set_ticks_position(‘bottom‘) # 设置y坐标轴为左边框 ax.yaxis.set_ticks_position(‘left‘) # 设置x轴, y周在(0, 0)的位置 ax.spines[‘bottom‘].set_position((‘data‘, 0)) ax.spines[‘left‘].set_position((‘data‘, 0))
绘制散点图:
import numpy as np import matplotlib.pyplot as plt # 数据个数 n = 1024 # 均值为0, 方差为1的随机数 x = np.random.normal(0, 1, n) y = np.random.normal(0, 1, n) # 计算颜色值 color = np.arctan2(y, x) # 绘制散点图 plt.scatter(x, y, s = 75, c = color, alpha = 0.5) # 设置坐标轴范围 plt.xlim((-1.5, 1.5)) plt.ylim((-1.5, 1.5)) # 不显示坐标轴的值 plt.xticks(()) plt.yticks(()) plt.show()
绘制柱状图:
import matplotlib.pyplot as plt import numpy as np # 数据数目 n = 10 x = np.arange(n) # 生成数据, 均匀分布(0.5, 1.0)之间 y1 = (1 - x / float(n)) * np.random.uniform(0.5, 1.0, n) y2 = (1 - x / float(n)) * np.random.uniform(0.5, 1.0, n) # 绘制柱状图, 向上 plt.bar(x, y1, facecolor = ‘blue‘, edgecolor = ‘white‘) # 绘制柱状图, 向下 plt.bar(x, -y2, facecolor = ‘green‘, edgecolor = ‘white‘) temp = zip(x, y2) # 在柱状图上显示具体数值, ha水平对齐, va垂直对齐 for x, y in zip(x, y1): plt.text(x + 0.05, y + 0.1, ‘%.2f‘ % y, ha = ‘center‘, va = ‘bottom‘) for x, y in temp: plt.text(x + 0.05, -y - 0.1, ‘%.2f‘ % y, ha = ‘center‘, va = ‘bottom‘) # 设置坐标轴范围 plt.xlim(-1, n) plt.ylim(-1.5, 1.5) # 去除坐标轴 plt.xticks(()) plt.yticks(()) plt.show()
以上是关于matplotlib常用操作的主要内容,如果未能解决你的问题,请参考以下文章