matplotlib中绘图
一,设置坐标轴
引入matplotlib模块
import matplotlib.pyplot as plt
x轴和y轴的值域
plt.xlim((-1,1))
plt.ylim((0,1))
color为线的颜色,linewidth为线宽度,linestyle为样式(-为实线,–为虚线)
x = np.linspace(-1,1,50) #等差数列
y=x+1
plt.plot(x,y,color='red',linewidth=1,linestyle = '-.')
figure语法
figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, rameon=True)
- num:图像编号或名称,数字为编号 ,字符串为名称
- figsize:指定figure的宽和高,单位为英寸;
- dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80 1英寸等于2.5cm,A4纸是 21*30cm的纸张
- facecolor:背景颜色
- edgecolor:边框颜色
- frameon:是否显示边框
x和y轴
plt.xtick()
plt.ytick()
例如:
plt.xlim((-1,1))
plt.ylim((-1,1))
x = np.linspace(-1,1,5) #等差数列
y = x
plt.xticks(x) #new_ticks 为-2,2分成十一等份
plt.yticks([-1,0,1],['level1','level2','level3'])
plt.plot(x,y)
plt.show()
plt.legend( )函数,给图像加上图例
设置图例边框及背景
去掉图例边框
plt.legend(loc=‘best’,frameon=False)
设置图例边框颜色
plt.legend(loc=‘best’,edgecolor=‘blue’)
设置图例标题
plt.legend([“BJ”, “SH”], title=‘Beijing VS Shanghai’)
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,1,50) #等差数列
y1 = 2*x
y2 = x**2
#设置两条线为l1,l2 注:应该在后面加上,
l1, = plt.plot(x,y1,color='red',linewidth=1)
l2, = plt.plot(x,y2,color='blue',linewidth=5)
#将l1,l2绘制于一张图中,其中名字分别是l1,l2,位置自动取在最佳位置
plt.legend(handles=[l1,l2],labels=['aa','bb'],loc='upper right',title='Beijing VS Shanghai')
plt.xlabel("Beijing")
plt.ylabel("Shanghai")
plt.show()
散点图
import matplotlib.pyplot as plt
import numpy as np
x = np.random.normal(0,1,50)
y = np.random.normal(0,1,50)
#s指点大小,alpha指透明度
plt.scatter(x,y,s=20,color='blue',alpha=0.5)
plt.show()
柱状图
x = np.arange(10)
y = 2**x + 10
#柱颜色,柱边框颜色
plt.bar(x,y,facecolor='red',edgecolor='blue')
#zip指把x,y结合为一个整体,一次可以读取一个x和一个y
for x,y in zip(x,y):
#指字体在中间和柱最顶的顶部
plt.text(x,y,'%.1f' %y,ha='center',va='bottom')
plt.show()