// 通过下面的语句查看帮助文档
from matplotlib import pyplot as plt
help(plt.plot)
1.函数作用:
将y对x绘制为线条和/或标记,展现变量的趋势变化。
2.函数语法:
plt.plot(x, y, ls="-", lw=2, label=“plot figure”,color=“颜色”)
3.参数意义:
x: x轴上的数值
y: y轴上的数值
ls: 折线图的线条风格
lw: 折线图的线条宽度
label: 标记图内容的标签文本
color: 曲线的颜色
4.实例&结果
错误案例:
注意: 在plot()语句中只写label=“图例名字”在最终的坐标图中是不会显示的。
输入:
from matplotlib import pyplot as plt
x = range(2,26,2)
y = [20,17,13,23,14,11,10,19,25,17,26,30]
plt.plot(x,y,color="orange",Marker = "*",linestyle = "--",label = "温度")
plt.show()
输出:
错误案例:
要想在上面的语句基础上实现我们想要的结果,只需在后面加上plt.legend()语句。plt.legend(loc=“设置图例显示的位置 ”,ncol=设置列的数量,使显示扁平化,当要表示的线段特别多的时候会有用“”)函数主要的作用就是给图加上图例。loc的可取值有‘best’, ‘upper right’, ‘upper left’, ‘lower left’, ‘lower right’, ‘right’, ‘center left’, ‘center , right’, ‘lower center’, ‘upper center’, ‘center’
输入:
from matplotlib import pyplot as plt
x = range(2,26,2)
y = [20,17,13,23,14,11,10,19,25,17,26,30]
plt.plot(x,y,color="orange",Marker = "*",linestyle = "--",label ="温度")
plt.legend(loc="upper left") //添加的语句
plt.show()
输出:
很难过,我们设置的图例是在坐标图的左上角显示温度,但是他却是俩个方框???很不爽…下面给出釜底抽薪式解决方法。
采用matplotlib作图时默认设置下是无法显示中文的,凡是汉字都会显示成小方块。 实际上,matplotlib是支持unicode编码的,不能正常显示汉字主要是没有找到合适的中文字体。如此看来,只有去它的配置文件一探究竟了。
matplotlib的配置文件的位置:
F:\App\python3.6.8\Lib\site-packages\matplotlib\mpl-data\matplotlibrc
然后用记事本打开,找到字体的相关配置信息:
图中蓝色光标覆盖部分就是我添加的中文字体,这样一来就可以使用matplotlib显示中文汉字(黑体)。到这里想要运行刚才代码还是不能得到想要的结果,具体如下:
正确案例:
输入:
from matplotlib import pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
x = range(2,26,2)
y = [20,17,13,23,14,11,10,19,25,17,26,30]
plt.plot(x,y,color="orange",Marker = "*",linestyle = "--",label ="温度")
plt.legend(loc="upper left")
plt.show()
输出:
到此关于plot()和它的俩个小小的衍生问题都已经解决~
参考文献:
Python matplotlib汉字显示问题