matplotlib 横坐标只显示整数_python数据分析之matplotlib使用

Matplotlib介绍

Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发
matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式

Matplotlib 包含两个模板
(1) 绘图API: pyplot,绘制各类可视化图形的命令子库
(2)集成库: pylab,是 Matplotlib 和 Scipy、Numpy的集成库

Matplotlib 的画图方式可分为两种:inline 和 notebook
(1) inline 为静态绘图,嵌入到 jupyter notebook 中显示
(2) notebook 为交互式图,在 juputer notebook 只显示一行输出代码

import matplotlib.pyplot as plt

绘图基本步骤

实例:

# 0、导入包
import matplotlib.pyplot as plt
# 1、准备数据
x = [1, 2, 3, 4]
y = [10, 20, 30, 40]
# 2、创建图像
fig = plt.figure()
# 3、绘图
ax = fig.add_subplot(111)
ax.plot(x, y)
# 4、自定义设置
ax.set_xlim(1, 5)
# 5、保存图形(按需要使用)
plt.savefig('first_graph.png')
# 6、显示图形
plt.show()

4393515cbbe155bb93db67bfbf47854a.png

基本绘图步骤分析:

(1) Figure:

Figure:面板(图),matplotlib中的所有图像都是位于figure对象中,一个图像只能有一个figure对象。

在第一步的创建图像方法plt.figure()中,我们可以通过传入参数来改变图像的显示属性。查阅官方文档,figure方法的参数包括figsize、dpi、facecolor、edgecolor、linewidth、frameon、subplotpars、tight_layout、constrained_layout。其中 subplotpars、tight_layout这两个参数与子图相关,暂时不详细展开,其他参数的含义如下:

    figsize:图像宽高,单位为英寸。(1英寸等于2.5cm)
    dpi:图像分辨率,即每英寸多少个像素,默认值80。
    facecolor:图像背景颜色,含四个参数,(R,G,B,透明度)
    edgecolor:图像边框颜色。含四个参数,(R,G,B,透明度)
    linewidth:图像边框线宽。
    frameon:是否显示边框。
    constrained_layout:是否自动布局,若为True则使用constrained_layout,会自动调整plot的位置。

修改plt.figure(),传入相关参数,代码如下:

x = [1, 2, 3, 4]
y = [10, 20, 30, 40]
# 2、创建图像
fig = plt.figure(figsize=(3, 3), 
                 dpi=100, 
                 facecolor=(0,1,0,1), # (0,1,0,1)为颜色属性,分别为r,g,b和透明度, 此值代表绿色
                 edgecolor=(1,0,0,1),  # 红色边框
                 frameon=True, 
                 linewidth=1)
# 3、绘图
ax = fig.add_subplot(111)
ax.plot(x, y)
# 4、自定义设置
ax.set_xlim(1, 5)
# 6、显示图形
plt.show()

f0e9abf9123fa2512f47ac1d92a41a31.png

Figure 详解

figure和axes,其中前者为所有绘图操作定义了顶层类对象Figure,相当于是提供了画板;而后者则定义了画板中的每一个绘图对象Axes,相当于画板内的各个子图。
换句话说,figure是axes的父容器,而axes是figure的内部元素,而我们常用的各种图表、图例、坐标轴等则又是axes的内部元素。

(2) Subplot:

Subplot:子图,figure对象下创建一个或多个subplot对象(即axes)用于绘制图像。

pyplot绘图属性

(1) pyplot的中文显示

第一种方法:rcParams

pyplot并不默认支持中文显示,需要rcParams修改字体实现

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['simhei']   #用于正常显示中文标签
plt.rcParams['axes.unicode_minus']=False     #用于正常显示负号

656018965ea64646010da84e931c16cb.png

rcParams的属性

e15082565ecdffa2349863cfea8e7519.png

最后再简单介绍几个比较常用的属性方法,matplotlib.rcParams[‘xtick_direction’] 、matplotlib.rcParams[‘ytick.direction’]可以设置刻度的方向,rcParams是pylot使用rc配置文件来自定义图形各种默认属性的方法,也叫rc配置或rc参数,通过rc参数可以修改图表的默认属性,包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、坐标和网络属性、文本、字体等。plt.axis(‘off’)可以关闭坐标轴,如果想只关闭x轴或y轴,可以使用frame = plt.gca()获取当前子图,然后用frame.axes.get_xaxis().set_visible(False)或frame.axes.get_yaxis().set_visible(False)对x轴或y轴设置是否显示。

中文字体的种类

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值