所需要的库
matplotlib
包中的pyplot
模块,用于绘图。numpy
模块,用于完成数值运算、矩阵运算等。pandas
模块,用于数据操纵和分析、导入数据文件等。
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
注:本文中所有项目实例都是在Jupyter Notebook
环境下运行的。
绘制曲线图 plot
通用步骤
plt.figure
指定图像显示比例和像素
# 指定图像显示比例和像素 5*3 每个单位200像素,即1000*600
plt.figure(figsize=(5,3), dpi=200)
plt.style.use
定制画布风格
# 定制画布风格
plt.style.use('seaborn-whitegrid')
plt.plot
绘制曲线线条
# 绘制曲线线条,可以设置图例、颜色、线宽、标记点、标记点大小、标记点边缘色、线型等
plt.plot(x, y, label='blue', color='#6699ff', linewidth=4, marker='.', markersize=20, markeredgecolor='#3333ff', linestyle='-.')
# 可以通过fmt = '[marker][line][color]'快速设置标记点、线型和颜色,但注意要在关键字参数之前
plt.plot(x, z, 'g^-.', label='green')
plt.title
plt.xlabel
plt.ylabel
设置图表标题和坐标轴标题
# 设置图表标题,可以设置标题字体、字号(字典形式)
plt.title("First graph!",fontdict={'fontname':'Comic Sans MS','fontsize':20})
# 设置坐标轴标题,可以设置坐标轴字体、字号(字典形式)
plt.xlabel("X Axis",fontdict={'fontname':'Times New Roman','fontsize':10})
plt.ylabel("Y Axis",fontdict={'fontname':'Times New Roman','fontsize':10})
plt.xticks
plt.yticks
设置x,y坐标轴刻度点
# 设置x坐标轴刻度点
plt.xticks([1,2,3,4,5])
# 设置y坐标轴刻度点
plt.yticks([2,3,4,5,6,7])
plt.legend()
显示图例(即plt.plot
中的label)
# 显示图例
plt.legend()
plt.savefig
保存图片
# 保存图片
plt.savefig('firstgraph.png',dpi=200)
plt.show
显示图像
# 显示图像
plt.show()
其他常用的 numpy
方法
np.linspace(start, stop, num=50)
根据起止数据等间距地生成数组,从start开始到stop结束,共num个点(默认50个)。np.sin(array)
计算数组的正弦值,返回一个数组。
x = np.linspace(0, 10, 1000)
plt.plot(x,np.sin(x),'b--')
plt.show()
np.arange(start, stop, step)
与np.linspace()
类似,根据起止数据等间距地生成数组,但常用于步进值step已知的情况下。
x2 = np.arange(0, 4.5, 0.5)
# 分段函数
plt.plot(x2[:6], x2[:6]**2, 'b.-', label='x1')
plt.plot(x2[5:], x2[5:]**2, 'b.:', label='x2')
plt.legend()
plt.show()
绘制柱形图 bar chart
通用步骤
plt.figure
指定图像显示比例和像素
# 指定图像显示比例和像素
plt.figure(figsize=(6,4),dpi=200)
plt.style.use
定制画布风格
# 定制画布风格(默认)
plt.style.use('default')
- 设定柱子名字列表和对应的值列表
labels = ['A','B','C']
values = [1, 4, 2]
plt.bar
绘制柱子
# 画柱形图并传递给bars,bars[0]即表示第一个柱子
bars = plt.bar(labels, values)
bar.set_hatch
设置柱子图案
# 设置柱状图图案
patterns = ['*','/','O']
for bar in bars:
bar.set_hatch(patterns.pop(0))
plt.title
设置柱状图标题
# 设置柱状图标题
plt.title("My Bars")
plt.savefig
保存图片
# 保存图片
plt.savefig('bar.png',dpi=200)
plt.show
显示图像
# 显示图像
plt.show()
绘制饼图 pie chart
通用步骤
pd.read_csv()
读取数据(这里用到了pandas
库的方法)返回表格
fifa = pd.read_csv('fifa_data.csv')
fifa.head(5) # 查看前五行的数据
plt.figure
指定图像显示比例和像素
# 指定图像像素
plt.figure(dpi=200)
plt.style.use
定制画布风格
# 定制画布风格
plt.style.use('ggplot')
fifa.loc[]
设定条件,筛选数据,返回表格(去掉了不满足条件的行)fifa.loc[...].count
得到满足条件的行数(此时只得到了每一列的行数,需要索引0下标得到int型行数)
# 设定条件,筛选数据
left = fifa.loc[fifa['Preferred Foot'] == 'Left'].count()[0]
right = fifa.loc[fifa['Preferred Foot'] == 'Right'].count()[0]
- 输入标签参数、颜色参数、爆炸参数(0~1,越大离中心越远)等
# 标签参数
labels=['Left','Right']
# 颜色参数
colors=['#0099ff','#ff6699']
# 爆炸参数
explode=(0.2, 0)
plt.pie
绘制饼图,包含标签、颜色和爆炸参数,包含数字里中心点的距离(0~1,越大离中心越远),包含默认显示的小数位数
# 绘制饼图,默认显示小数点后两位加%(这里使用了转义字符%%)
plt.pie([left, right],labels=labels, colors=colors, explode=explode, pctdistance=0.7, autopct='%.2f%%')
plt.title
设置饼图标题
# 设置饼图标题
plt.title("Foot Preference of FIFA Players")
plt.legend()
显示图例(即 label)
# 显示图例
plt.legend()
plt.savefig
保存图片
# 保存图片
plt.savefig('bar.png',dpi=200)
plt.show
显示图像
# 显示图像
plt.show()
绘制柱状图 hist
通用步骤
pd.read_csv()
读取数据(这里用到了pandas
库的方法)返回表格plt.figure
指定图像显示比例和像素- 输入箱子的范围
plt.figure(figsize=(8,5), dpi=200)
plt.hist
绘制柱状图,给定检测的列和箱子,会自动生成柱状图
plt.hist(fifa.Overall, bins=bins, color='#33ccff')
plt.title
plt.xlabel
plt.ylabel
设置图表标题和坐标轴标题
plt.title("Distribution of Player Skills in FIFA")
plt.xlabel("Number of Players")
plt.ylabel("Skill Level")
plt.xticks
设置x坐标轴刻度点
plt.xticks(bins)
plt.savefig
保存图片
# 保存图片
plt.savefig('bar.png',dpi=200)
plt.show
显示图像
# 显示图像
plt.show()