前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matplotlib绘图技巧详解(一)

matplotlib绘图技巧详解(一)

作者头像
朱小五
发布2020-03-03 15:06:38
9090
发布2020-03-03 15:06:38
举报
文章被收录于专栏:凹凸玩数据

↑ 关注 + 星标 ~ 有趣的不像个技术号

每晚九点,我们准时相约

大家好,我是黄同学

我们之前已经讲述了matplotlib的绘图原理,陆续会更新绘图技巧、相关图形绘制。

《matplotlib绘图的核心原理》

01 图形交互性设置

这是jupyter notebook独有的知识。

  • %matplotlib notebook 弹出可交互的matplotlib窗口
  • %matplotlib qt5 弹出matplotlib控制台
  • %matplotlib inline 直接嵌入图表,不需要使用plt.show()

1)测试如下

① %matplotlib notebook和%matplotlib qt5效果一样

代码语言:javascript
复制
% matplotlib notebook

plt.plot([1,2,3,4,5], [2,4,6,8,10], "g-.o")

结果如下:

② %matplotlib inline

代码语言:javascript
复制
% matplotlib inline

plt.plot([1,2,3,4,5], [2,4,6,8,10], "g-.o")

结果如下:

02 中文支持等相关设置

matplotlib默认情况下不支持中文显示,如果需要显示中文,则我们需要做一些额外的设置操作。设置可以分为如下两种:

  • 全局设置:设置一次,对所有的操作有效;
  • 局部设置:在某一次绘图中,设置一次,仅对当前这个绘图有效;
  • 注意:如果局部设置和全局设置都存在,则局部设置生效;

1)中文支持相关设置:全局设置

① 中文字体设置

  • font.family 字体的名称
  • sans-serif 西文字体(默认)
  • SimHei 中文黑体
  • FangSong 中文仿宋
  • YouYuan 中文幼圆
  • STSong 华文宋体
  • Kaiti 中文楷体
  • LiSu 中文隶书

代码如下:

代码语言:javascript
复制
mpl.rcParams["font.family"] = "SimHei"

② 字体风格设置

  • font.style 字体的风格
  • normal 常规(默认)
  • italic 斜体
  • oblique 倾斜

代码如下:

代码语言:javascript
复制
mpl.rcParams["font.style"] = "italic"

③ 字体大小设置(默认是10)

代码如下:

代码语言:javascript
复制
mpl.rcParams["font.size"] = 16

2)中文支持相关设置:局部设置

代码语言:javascript
复制
font = {"family":"Kaiti",
       "style":"oblique",
        "weight":"normal",
        "color":"green",
        "size": 20
       }
plt.title("中文", fontdict=font)

3)演示如下

代码语言:javascript
复制
import matplotlib as mpl
import matplotlib.pyplot as plt

# 中文字体设置
mpl.rcParams["font.family"] = "SimHei"
# 字体大小设置
mpl.rcParams["font.size"] = 16
# 字体风格设置
mpl.rcParams["font.style"] = "italic"

plt.plot([-3, -2], [-1, -5], "r--")
plt.title("我是中文-标题")

结果如下:

结果分析:通过上述设置,我们已经可以正常显示中文。但是可以发现,图中的“-”符号并不能正常显示,这就是下面我们要讲的“-”(负号)特殊符号的相关设置。

03 "-"(负号)特殊符号的相关设置

  • axes.unicode_minus 是否使用Unicode的负号,在支持中文显示状态下,需要设置为False。

代码如下:

代码语言:javascript
复制
mpl.rcParams["axes.unicode_minus"] = False

演示如下:

代码语言:javascript
复制
import matplotlib as mpl
import matplotlib.pyplot as plt

# 中文字体设置
mpl.rcParams["font.family"] = "SimHei"
# 字体大小设置
mpl.rcParams["font.size"] = 16
# 字体风格设置
mpl.rcParams["font.style"] = "italic"

# "-"(负号)特殊符号设置
mpl.rcParams["axes.unicode_minus"] = False

plt.plot([-3, -2], [-1, -5], "r--")
plt.title("中文标题")

结果如下:

04 保存图像与读取图象设置

1)保存图像

  • dpi:每英寸分辨率点数。
  • facecolor:设置图像的背景色。
  • bbox_inches:设置为tight,可以紧凑保存图像,删除figure周围的空白部分

操作如下:

代码语言:javascript
复制
plt.plot([1,3,5,7],[4,9,6,8],"r-.o")
plt.savefig("image1.png",dpi=100,facecolor="g",bbox_inches="tight")

结果如下:

2)读取图像

代码语言:javascript
复制
# 导入相关库
from PIL import Image
# 从硬盘读取文件
image = Image.open("image1.png")
# 会使用操作系统的默认图片打开器打开图片
image.show()

未完待续,matplotlib绘图技巧详解更新ing...

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 凹凸数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01 图形交互性设置
  • 02 中文支持等相关设置
  • 03 "-"(负号)特殊符号的相关设置
  • 04 保存图像与读取图象设置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档