利用Python matplotlib包来画图
Python matplotlib包可以画各种类型的图,功能非常齐全。
# 曲线图:matplotlib.pyplot.plot
# 柱状图:matplotlib.pyplot.hist
# 散点图:matplotlib.pyplot.scatter
# 箱式图:matplotlib.pyplot.boxplot
import matplotlib as mpl
from matplotlib import pyplot as plt
import seaborn as sns
import pandas as pd
#曲线图实例
data = pd.read_csv('/data.csv', encoding = 'gbk') #数据中有中文字符时,读取要加gbk
x = np.arange(30) + 1
y = data.iloc[0][1:31]
plt.plot(x,y, color = 'blue',linewidth = 1.5, linestyle = '-',marker = '.',label = 'mean')
#坐标轴设置
ax = plt.subplot(111)
ax.spines['right'].set_color('none') #去掉右边的边框线
ax.spines['top'].set_color('none') #去掉上边的边框线
#X轴从底部向上移动
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',23))
#Y轴从左边向右边移动
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
#设置横纵坐标的取值范围
plt.xlim(x.min()*0.9, x.max()*1.1)
plt.ylim(y.min()*0.9, y.max()*1.1)
#设置横纵坐标的刻度值
plt.xticks([0,5,10,15,20,25,30],['0','5','10','15','20','25','30'])
plt.yticks([25,30,35,40,45],['25','30','35','40','45'])
#特殊点添加注解
plt.scatter([23,],[y[22],],50,color = 'blue') #需要注解的点的位置,放大该点
plt.annotate('holiday', xy= (23,y[22]),xytext = (24,30.2), fontsize = 14, color = 'm', arrowprops = dict(arrowstyle = '->',
connectionstyle = 'arc3, rad = 0.1',color = 'm')) #给该点进行注解,先设置注解箭头的位置,然后设置注解的位置
#设置标题,横纵轴的名称
plt.title('Title', fontsize = 12)
plt.xlabel('Time',fontsize = 12, labelpad = 6)
plt.ylabel('Numble',fontsize = 12, labelpad = 6)
#设置图例及位置
plt.legend(loc = 'best')
#显示网格线
plt.grid(True)
plt.show()
#柱状图
# x = np.random.normal(size=1000)
# plt.hist(x, bins=10) #bins设置柱状图中柱的数量
# plt.show()
#散点图
# x = np.random.normal(size=1000)
# y = np.random.normal(size=1000)
# plt.scatter(x,y)
# plt.show()
#箱式图
# x = np.random.normal(size=1000)
# plt.boxplot(x) #分布情况,异常点等
# plt.show()
根据自己的需求更改设置,不需要的可以去掉。