2.2 图形设置
1. 图例
我们在绘图时一般要添加图例丰富图形
plt.title('标题')#用于添加标题,fontsize可调整大小
plt.xlabel('x轴',fontsize=19)#给x轴添加标签
plt.ylabel('y轴',labelpad=19)#给y轴添加标签,labelpad可调整标签与坐标轴的距离
plt.xlim((0,1)) # 确定x轴的范围
plt.ylim((0,1)) # 确定x轴的范围
plt.xticks([0,0.2,0.4,0.6,0.8,1]) #确定x轴的刻度
plt.yticks([0,0.2,0.4,0.6,0.8,1],rotation=45) #确定y轴的刻度,rotation改变刻度的角度
plt.legend(loc='best',frameon=False)#添加图例,frameon决定是否有边框
plt.tight_layout()#紧凑显示,保存时不会出现不全
plt.savefig('1.jpg',bbox_inches = 'tight')#保存图片
matplotlib命令与格式:图例legend语法及设置
matplotlib命令与格式:标题(title),标注(annotate),文字说明(text)
python中matplotlib的颜色及线条控制【以及改变legend字体大小】
2. 绘制网格线
plt.grid(ls,c)#ls线条风格,c线条颜色
3. 绘制参考线
绘制平行于x轴与y轴的水平参考线
plt.axhline(y,c,ls,lw)
plt.axvline(x,c,ls,lw)
4. 绘制参考区域
绘制平行于x轴与y轴的参考区域
plt.axvspan(xmin,xmax,faceclor,alpha)
plt.axhspan(ymin,ymax,faceclor,alpha)
5. 添加图形内容
- 添加无指向性注释文本
plt.text(x,y,string,weight,color)#x,y反应起始位置,weight反应文本样式
- 添加指向性注释文本
plt.annotate('maximum',#文本内容
xy=(np.pi/2,1), #箭头位置
xytext=((np.pi/2)+1,0.8),#文本位置
weight='bold',#文本样式
color='b',#颜色
arrowprops =dict(arrowstyle='->',connectionstyle = 'arc3',color='r'))
2.3 例子
pd.set_option('display.max_columns',8)
jd_stock = pd.read_csv('data.csv', sep =',',header=None,names =['name','date','opening_price','closing_price',
'lowest_price','highest_price','volume'])
jd_stock['date'] = pd.to_datetime(jd_stock['date'])
plt.plot(jd_stock['opening_price'],label='Opening_Price')
plt.plot(jd_stock['closing_price'],label='Closing_Price')
plt.legend(loc='lower center',frameon = True,fontsize =15)
plt.annotate('开盘价',xy=(16,28.80), xytext=(20,30),weight='bold',color='b',
arrowprops =dict(arrowstyle='->',connectionstyle = 'arc3',color='b'))
plt.annotate('收盘价',xy=(53,30.32), xytext=(59,28),weight='bold',color='r', fontsize = 15,
arrowprops = dict(arrowstyle='->',connectionstyle = 'arc3',color='r'))
plt.text(10,32,'开盘价和收盘价走势图',weight ='bold',color='red',fontsize=15)
plt.title('开盘价和收盘价股票走势图',color ='steelblue')
plt.show()