一、认识图表常用的辅助元素
图表常用的辅助元素
图表的辅助元素是指除了根据数据绘制的图形之外的元素,常用的辅助元素包括坐标轴、标题、图例、网格、参考线、参考区域、注释文本和表格,它们都可以对图形进行补充说明。
二、设置坐标轴的标签、刻度范围和刻度标签
1、设置x轴的标签matplotlib中可以直接使用pyplot模块的xlabel()函数设置x轴的标签,xlabel()函数的语法格式如下:
xlabel(xlabel,fontdict=None, labelpad=None,**kwargs)
xlabel:表示x轴标签的文本
fontdict:表示控制标签文本样式的字典
labelpad:表示标签与坐标轴边框
1.2、设置y轴的标签
ylabel(ylabel,fontdict=None, labelpad=None,**kwargs)
坐标轴
坐标轴是由刻度标签、刻度线、轴脊和坐标轴标签组成。
xlabel(xlabel)
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams[‘font.sans-serif’]=[‘SimHei’]
plt.rcParams[‘axes.unicode_minus’]=False
x=np.linspace(-np.pi,np.pi,256,endpoint=True)
y1,y2=np.sin(x),np.cos(x)
plt.plot(x,y1,x,y2)
plt.xlabel(“x轴”)
plt.ylabel(“y轴”)
plt.title(“37”)
plt.rcParams[‘font.sans-serif’]=[‘SimHei’]
plt.rcParams[“axes.unicode_minus”]=False
labels=[“哪吒之魔童降世”,“流浪地球”,“复仇者联盟”,“疯狂外星人”,“飞驰人生”,“烈火英雄”,“蜘蛛侠”,“速度与激情”,“扫毒”,“大黄蜂”,“惊奇队长”,“悲伤”,“哥斯拉”,
“艾丽塔”,“银河补习班”]
bar_width=[48.57,46.18,42.05,21.83,17.03,16.70,14.01,13.84,12.85,11.38,10.25,9.46,9.27,8.88,8.64]
y_data=range(len(labels))
fig=plt.figure()
ax=fig.add_subplot(111)
ax.barh(y_data,bar_width,height=0.2,color=‘orange’)
ax.set_xlabel(“总票房(亿元)”)
ax.set_ylabel(“电影名称”)
ax.set_yticks(y_data)
ax.set_yticklabels(labels)
plt.title(“37”)
plt.show()
lines=plt.plot(x,y1,x,y2)
plt.legend(lines,[‘正弦’,‘余弦’],shadow=True,fancybox=True)
import matplotlib.pyplot as plt
plt.rcParams[‘font.sans-serif’]=[‘SimHei’]
plt.rcParams[‘axes.unicode_minus’]=False
kinds=[‘购物’,‘礼尚往来’,‘餐饮美食’,‘通信’,‘生活日用’,‘交通出行’,‘休闲娱乐’,‘其他’]
money_scale=[500/1500,123/1500,400/1500,234/1500,300/1500,200/1500,100/1500,150/1500]
dev_position=[0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1]
plt.pie(money_scale,autopct=’%3.1f%%’,shadow=True,
explode=dev_position,startangle=90)
plt.title(‘支付宝月账单报告’)
plt.legend(kinds,loc=‘upper right’,bbox_to_anchor=[1.3,1.1])
plt.show()
plt.rcParams[‘font.sans-serif’]=‘SimHei’
plt.rcParams[‘axes.unicode_minus’]=False
x_speed=np.arange(10,210,10)
y_distance=np.array([0.3,0.5,1,3,5,5.5,7,8,9,12,14,15.5,17.8,19,20,23,27,30,31,32])
plt.scatter(x_speed,y_distance,s=50,alpha=0.9)
plt.xlabel(‘速度(km/h)’)
plt.xlabel(‘制动距离(m)’)
plt.xticks(x_speed)
plt.grid(b=True,linewidth=0.7)
plt.title(‘37’)
plt.show()
plt.rcParams[‘font.sans-serif’]=‘SimHei’
plt.rcParams[‘axes.unicode_minus’]=False
men_means=(90.5,89.5,88.5,87.9,85.2,86.6)
women_means=(92.7,98.1,78.9,88.8,78.5,99.1)
ind=np.arange(len(men_means))
width=0.2
fig=plt.figure()
ax=fig.add_subplot(111)
ax.bar(ind-width/2,men_means,width,label=‘男生平均成绩’)
ax.bar(ind+0.2,women_means,width,label=‘女生平均成绩’)
ax.set_ylabel(‘分数’)
ax.set_xticks(ind)
ax.set_xticklabels([‘高二1班’,‘高二2班’,‘高二3班’,‘高二4班’,‘高二5班’,‘高二6班’])
ax.axhline(88.5,ls=’–’,linewidth=1.0,label=‘全体平均成绩’)
ax.legend(loc=“lower right”)
plt.show()
plt.rcParams[‘font.sans-serif’]=[‘SimHei’]
plt.rcParams[‘axes.unicode_minus’]=False
x=np.arange(1,8)
y=np.array([10770,16780,24440,30920,12345,47899,45632])
bar_rects=plt.bar(x,y,tick_label=[“FY2013”,“FY2014”,“FY2015”,“FY2016”,“FY2017”,“FY2018”,“FY2019”],width=0.5)
def autolabel(rects):
for rect in rects:
height=rect.get_height()
plt.text(rect.get_x()+rect.get_width()/2,height+300,s=’{}’.format(height),ha=‘center’,va=‘bottom’)
autolabel(bar_rects)
plt.ylabel(‘GMV(亿元)’)
plt.title(‘37’)
plt.show()
plt.rcParams[‘font.sans-serif’]=[‘SimHei’]
plt.rcParams[‘axes.unicode_minus’]=False
x=np.linspace(-np.pi,np.pi,256,endpoint=True)
y1,y2=np.sin(x),np.cos(x)
plt.plot(x,y1,x,y2)
plt.xlabel(“x轴”)
plt.ylabel(“y轴”)
plt.axvline(x=0,linestyle=’–’)
plt.axhline(y=0,linestyle=’–’)
plt.title(“37”)
plt.show()