pycharm可以直接安装:
file——settings——python interpreter——有一个➕号就是install——搜索matplotlib——左下角install package——等待安装成功就行了
在学习过程中发现制作出来的图表中文显示异常,就像下图这样:
解决办法亲测有效,只适用于windows64bit:
matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False # 正常显示负号
关于matplotlib更多个性化设置参考这篇文章
以下的每一个代码块都是完整可独立运行的。
import matplotlib
import matplotlib.pyplot as plt
# 创建画布,figsize决定画布大小,长和宽,dpi决定图像的清晰程度
plt.figure(figsize=(20,6),dpi=100)
# 正常显示中文
matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False # 正常显示负号
# 绘制图像
x = [0,1,2,3,4,5,6,7,8,9]
y = [0,6,3,7,3,8,9,5,3,2] # 注意!!如果y里面的元素是str类型,要先转成int或float才可以正常画图
plt.plot(x,y)
# 修改x,y轴刻度显示
plt.xticks(range(0,10,1)) # x轴刻度从0到10(不包括10)一个一个显示
plt.yticks(range(0,10,2)) # y轴刻度从0到10(不包括10)两个两个显示
# 把图像保存到指定位置,这一句一定要放在show前面
plt.savefig("路径/文件名.png")
# 显示图像
plt.grid(True,linestyle='--',alpha=0.5) # true表示添加网格,linestyle表示网格线的样式,alpha表示网格线透明度
plt.xlabel("这里是横轴/单位")
plt.ylabel("这里是纵轴/单位")
plt.title("这里是标题", fontsize=20) # fontsize调节标题大小
plt.show()
import matplotlib
import matplotlib.pyplot as plt
# 创建画布,figsize决定画布大小,长和宽,dpi决定图像的清晰程度
plt.figure(figsize=(20,6),dpi=100)
# 正常显示中文
matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False # 正常显示负号
# 绘制图像
x = [0,1,2,3,4,5,6,7,8,9]
y1 = [0,6,3,7,3,8,9,5,3,2]
y2 = [2,5,2,7,5,4,6,5,4,4]
# 画几条线就写几个plot,color设置颜色,-是直线,--是虚线
plt.plot(x,y1,color='g',linestyle='-',label="第一次实验")
plt.plot(x,y2,color='r',linestyle='--',label="第二次实验")
plt.legend(loc ="best") # loc一般默认为best,表示label的位置
# 修改x,y轴刻度显示
plt.xticks(range(0,10,1)) # x轴刻度从0到10(不包括10)一个一个显示
plt.yticks(range(0,10,2)) # y轴刻度从0到10(不包括10)两个两个显示
# 显示图像
plt.grid(True,linestyle='--',alpha=0.5) # true表示添加,linestyle表示网格线的样式,alpha表示网格线透明度
plt.xlabel("这里是横轴/单位")
plt.ylabel("这里是纵轴/单位")
plt.title("这里是标题", fontsize=20) # fontsize调节标题大小
plt.show()
import matplotlib
import matplotlib.pyplot as plt
# 创建多坐标系画布,ncols表示坐标系个数,figsize决定画布大小,长和宽,dpi决定图像的清晰程度
fig,axes = plt.subplots(nrows=1,ncols=2,figsize=(20,6),dpi=100)
matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False # 正常显示负号
# 绘制图像
x = [0,1,2,3,4,5,6,7,8,9]
y1 = [0,6,3,7,3,8,9,5,3,2]
y2 = [2,5,2,7,5,4,6,5,4,4]
# 把单坐标系中的plt改成axes[i]
axes[0].plot(x,y1,color='g',linestyle='-',label="第一次实验")
axes[1].plot(x,y2,color='r',linestyle='--',label="第二次实验")
# 在单坐标系中所有的设置都要多份
axes[0].legend(loc ="best")
axes[0].grid(True,linestyle='--',alpha=0.5)
axes[0].set_xlabel("横轴/单位")
axes[0].set_ylabel("纵轴/单位")
axes[0].set_title("标题", fontsize=20)
axes[1].legend(loc ="best")
axes[1].grid(True,linestyle='--',alpha=0.5)
axes[1].set_xlabel("横轴/单位")
axes[1].set_ylabel("纵轴/单位")
axes[1].set_title("标题", fontsize=20)
plt.show()