导入
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
然后以下这两句用于正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
基本命令
plt.xticks(x,xtk,size=12,rotation=50) #设置字体大小和字体倾斜度
plt.xlabel(u'城市') # x轴标签
plt.ylabel(u'数量')
plt.title(u'朋友所在城市') # 图的名称
plt.axis([a,b,c,d]) #对x,y轴进行限制, x属于[a,b] ,y属于[c,d]
plt.xlim(a,b)
plt.ylim(c,d) #单独对坐标轴进行限制
plt.savefig('xxxx.png') #保存前注释plt.show函数
plt.show() #作图显示
折线,散点图
plt.plot(x,y, color ='blue', linewidth=2.5, linestyle="--")
plt.scatter(x,y,s=1,c="",cmap=plt.cm.Blues)
#分别表示颜色,线宽,线的样式,cmap表示渐变
柱状图
rects1=plt.bar( #(x,data) 就是所要画的二维数据
left=x, #x 是X坐标轴数据,即每个块的x轴起始位置
height=data, #data是Y坐标轴的数据,即每个块的y轴高度
width=[0.1,0.2,0.3], #每一个块的显示宽度
bottom=[1,2,3], #每一个块的底部高度
color='y', #块的颜色
edgecolor='g', #块的边界颜色
linewidth=2, #块的线条宽度
)
plt.show()
饼图
plot2=plt.pie(data, # 每个饼块的实际数据,如果大于1,会进行归一化,计算percentage
explode=[0.0,0.1,0.2], # 每个饼块离中心的距离
colors=['y','r','g'], # 每个饼块的颜色
labels=['women','men','unknown'], # 每个饼块的标签
labeldistance=1.2, # 每个饼块标签到中心的距离
autopct='%1.1f%%', # 百分比的显示格式
pctdistance=0.4, # 百分比到中心的距离
shadow=True, # 每个饼块是否显示阴影
startangle=0, # 默认从x轴正半轴逆时针起
radius=1.0 # 饼块的半径
)
plt.axis('equal') # 显示为圆形,避免比例压缩为椭圆
plt.show()
频次直方图
bins=np.arange(0,101,10) #设置连续的边界值,即直方图的分布区间[0,10],[10,20]...
width=10 #柱状图的宽度
frequency_each,_,_= plt.hist(x,bins,color='deepskyblue',width=width,alpha=0.7) #alpha为透明度
子图设置
可以在一个画布中展现2*2=4张图
plt.subplot(221)
plt.plot(x, y1,'r-', lw=2,label="one")
plt.plot(x2,y1,'blue',lw=2,label="two") #可以通过多个plt.plot的形式在一个图中进行多线画制。
plt.subplot(222)
plt.plot(x,y2)
plt.show()