涉及知识点 | 示例图片 |
---|---|
基础绘图查阅: 1. plot 的基础用法2. 坐标轴的刻度绘制 plt.xticks 3. 坐标轴的移动 ax.spines 4.坐标轴的范围 plt.xlim(x.min()*1.1) 5.循环设置字体的大小: plt.gca.get_xticklabels.set_fontsize(16) 6.标签的绘制 plt.legend 7. annotation 的用法 |
|
覆盖函数: 1. full_between(x的范围,下限,上限,facecolor,alpha) |
|
等高线图:contour 1. 可以控制字是否在线上 2. 等高线数字的位置控制 3.登高线的密度 4. clabel 的使用 |
|
等高线图填充函数:contourf |
|
Scatter基础用法: 1. 控制圆的大小和颜色 2. 透明度: alpha |
|
matplot_annotation实例参考 | |
[解决中文显示&负号显示问题](# 中文显示 ) [把图表中所有的内容设置为Times New Roman 格式](# 字体设置) |
基础绘图查阅
import matplotlib.pyplot as plt |
Scatter基础用法
import numpy as np |
覆盖函数
n = 256 |
Contour :简易上手教
import matplotlib |
生成一个简单的带lable的contour图(线图)使用默认的颜色。clabel 中的 inline 语法控制着是否这个label是画在线上面,如果画在线里面这需要控制字体与线之间的距离,inline = 0 代表线与文字共存。
fig, ax = plt.subplots() |
除此以外,还可以控制label的位置,手工位置:manual_location
fig, ax = plt.subplots() |
还可以控制线的个数,这里感觉好像是100-1=99
fig, ax = plt.subplots() |
fig, ax = plt.subplots() |
contourf :填充等高线图
def plt_contour(): |
解决中文显示&负号显示问题
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签 |
参考文档:http://www.mamicode.com/info-detail-2693409.html
可能出现的问题:
UserWarning: findfont: Font family [u'Times New Roman'] not found. |
解决方案:
-
下载字体
字体下载网站:http://www.font5.com.cn/font_download.php?id=151&part=1237887120
-
将下载的字体文件(.tff)文件,拷贝到matplot下的字体目录下
# 字体存放文件夹
import matplotlib
print(matplotlib.matplotlib_fname()) -
清理原先的字体缓存文件夹
# 字体缓存文件夹在
import matplotlib as mpl
fm = mpl.font_manager
fm.get_cachedir()找到文件后,删除
rm -rf 这里填上一步中找到的文件夹路径
-
重启Python内核
-
在代码中加入代码:
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号或者修改matplotlibrc文件
font.family : sans-serif
...
font.sans-serif : SimHei
...
axes.unicode_minus : False # use unicode for the minus symbol
把图表中所有的内容设置为Times New Roman 格式
- 代码参考:
plt.figure(figsize=(10, 5)) |
-
有关中文设置为宋体,英文设置为Times New Roman 这种混合字体设置参见: