运用matplotlib绘制简单图表
安装matplotlib
在Linux系统中安装matplotlib
pip install --user matplotlib
在Windows系统中安装matplotlib
在https://pypi.python.org/pypi/matplotlib/下载与你使用的Python版本匹配的whell文件(扩展名为.whl的文件)
将这个.whl文件放到你的一个文件夹(假设文件夹名为matplotlib)
打开命令窗口并切换到该文件夹,再使用pip命令安装matplotlib
>>>cd matplotlib
>>>python -m pip install --user matplotlib-3.1.3-cp37-none-win32.whl
测试matlpotlib
python
>>>import matplotlib
>>>
如果没有出现任何错误消息,就说明安装成功。
折线图
绘制简单的折线图
import matplotlib.pyplot as plt
input_x=[1,2,3,4,5]
squares=[1,3,2,9,4]
#决定绘制线条的粗细
plt.plot(input_x,squares,linewidth=5)
#设置图表标题,并给坐标轴加上标签
plt.title("Line chart",fontsize=24)
plt.xlabel("X",fontsize=14)
plt.ylabel("Y",fontsize=14)
plt.show()
运行后显示效果如下
绘制x2的曲线
import matplotlib.pyplot as plt
x_values=list(range(1,1001))
y_values=[x**2 for x in x_values]
plt.title("Scatter Numbers",fontsize=24)
plt.xlabel("X",fontsize=14)
plt.ylabel("Y",fontsize=14)
plt.scatter(x_values,y_values,s=40)
plt.axis([0,1100,0,1100000])
plt.show()
修改颜色
plt.scatter(x_values,y_values,s=40,c=(0.5,0,0.2))
使用颜色映射
plt.scatter(x_values,y_values,s=40,c=y_values,cmap=plt.cm.Blues)
绘制多条折线
import matplotlib.pyplot as plt
input_x=[1,2,3,4,5]
square_1=[1,3,2,9,4]
square_2=[3,4,1,5,7]
square_3=[2,6,4,1,3]
#决定绘制线条的粗细
plt.plot(input_x,square_1,linewidth=5,linestyle='-',label='data 1')
plt.plot(input_x,square_2,linewidth=5,linestyle='--',label='data 2')
plt.plot(input_x,square_3,linewidth=5,linestyle='-.',label='data 3')
#设置图表标题,并给坐标轴加上标签
plt.title("Line chart",fontsize=24)
plt.xlabel("X",fontsize=14)
plt.ylabel("Y",fontsize=14)
plt.legend(loc='best')
plt.show()
散点图
简单散点图
import matplotlib.pyplot as plt
import numpy as np
N=10
x=np.random.rand(N)
y=np.random.rand(N)#位置随机
color=np.random.rand(N)#颜色随机
#设置点的尺寸
plt.scatter(x,y,s=100,c=color)
#设置图表标题,并给坐标轴加上标签
plt.title("Scatter diagram",fontsize=24)
plt.xlabel("X",fontsize=14)
plt.ylabel("Y",fontsize=14)
plt.show()
更改散点形状
import matplotlib.pyplot as plt
import numpy as np
N=10
x=np.random.rand(N)
y=np.random.rand(N)#位置随机
color=np.random.rand(N)#颜色随机
#设置点的尺寸
plt.scatter(x,y,s=100,c=color,marker='^' )
#设置图表标题,并给坐标轴加上标签
plt.title("Scatter diagram",fontsize=24)
plt.xlabel("X",fontsize=14)
plt.ylabel("Y",fontsize=14)
plt.show()
两组数据
import matplotlib.pyplot as plt
import numpy as np
N=10
x1=np.random.rand(N)
y1=np.random.rand(N)#位置随机
x2=np.random.rand(N)
y2=np.random.rand(N)#位置随机
#设置点的尺寸
plt.scatter(x1,y1,s=100,marker='^',label='data 1')
plt.scatter(x2,y2,s=100,marker='o',label='data 2')
#设置图表标题,并给坐标轴加上标签
plt.title("Scatter diagram",fontsize=24)
plt.xlabel("X",fontsize=14)
plt.ylabel("Y",fontsize=14)
plt.legend(loc='best')
plt.show()