python matplotlib.pyplot模块画图用法

说明

matplotlib.pyplot模块是一个功能强大的画图模块,可以对画图的多个参数进行调整,以纳斯达克100指数的数据为例,下面简要记录下主要用法。
PS:科研画图还是origin好使。。

1. 导入模块与数据

import matplotlib.pyplot as plt
import pandas as pd
file_path = r"I:\nasdaq100\small\nasdaq100_padding.csv"
df = pd.read_csv(file_path)
AAL = df['AAL']

2. 单幅图像绘制——常用函数

1. plt.figure()函数可以控制图像整体的比例,大小,像素等

figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
  •   num:图像编号或名称,数字为编号 ,字符串为名称
      figsize:指定figure的宽和高,单位为英寸
      dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80
      facecolor:背景颜色
      edgecolor:边框颜色
      frameon:是否显示边框
    

用法示例:

plt.figure(figsize=(4, 3), facecolor='white', edgecolor='black')
plt.plot(AAL, 'r')
plt.show()

2. plt.plot()函数,主要是传入数据进行画图

官方给的参数如下:

plot([x], y, [fmt], *, data=None, **kwargs)
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

x可以缺省,此时x坐标为1,2,3…
y不能缺省,一般是列表类型
可以多个曲线一起画,如第二行代码所示的格式(但一般不建议,不如多用几行单个曲线,便于调整)…
fmt为定义线的基本属性,可缺省,加上像‘r–’,‘bo’这种控制线的颜色与类型,常用的部分控制语法见下图。
完整版参考来源
在这里插入图片描述
在这里插入图片描述
用法示例:
(先将数据量调小点,方便看效果)

AAL_100 = AAL[:100]
plt.figure(figsize=(4, 3), facecolor='white', edgecolor='black')
plt.plot(AAL_100, 'b--')
plt.show()

在这里插入图片描述

3. plt.tick_params()函数主要是调整刻度线相关的属性,如label字体大小,刻度线颜色之类的

plt.tick_params(axis='both',**kwargs)

实际可调整的参数很多,可以参考下面的图(参考来源
一般其实用不到这么多。。

用法示例:
更完整的参考示例

AAL_100 = AAL[:100]
plt.figure(figsize=(4, 3), facecolor='white', edgecolor='black')
plt.plot(AAL_100, 'b--')
plt.tick_params(axis='x', direction='in', width=2, colors='c', labelsize=12)
plt.tick_params(axis='y', direction='inout', width=2, colors='m', labelsize=12)
plt.show()	#花里胡哨的

在这里插入图片描述

4. plt.title()、plt.xlabel()、plt.ylabel()为图表、横坐标、纵坐标命名

主要可以改字体的大小、颜色、粗细、透明度等(一般也就命个名,调个字体而已
title()参数:

对于xlabel()和ylabel(),一般不会改的太多,如示例所示。
用法示例:

plt.plot(AAL_100, ls='-.', c='rosybrown')
plt.tick_params(axis='x', direction='in', width=2, colors='c', labelsize=12)
plt.tick_params(axis='y', direction='inout', width=2, colors='m', labelsize=12)
plt.title('nasdaq100-ALL_100')
plt.xlabel('Day', fontsize=12, color='y')
plt.ylabel('Value', fontsize=12)
plt.show()

在这里插入图片描述

3. 多幅图像绘制——plt.subplot()函数

一幅图像画多个子图,一般用的也不多,画起来也相对麻烦点。

plt.subplot(nrows, ncols, index, **kwargs)

用三个整数描述子图的数量及索引(行,列,子图索引),以下两种表达效果一致。

plt.subplot(232)	# 两行三列、一共6个图,当前为第二个子图
plt.subplot(2,3,2)	# 相当于表示当前在编辑第一个图

编辑好之后,就按照上述单张图片进行编辑,需要注意的是,plt.show()应当放在所有子图的最后。
用法示例:

AAL = df['AAL']
AAL_100 = AAL[:100]
ADBE = df['ADBE']
ADBE_100 = ADBE[:100]

plt.subplot(221)
plt.plot(AAL, 'r')
plt.tick_params(axis='x', direction='in', width=2, colors='c', labelsize=6)
plt.tick_params(axis='y', direction='inout', width=2, colors='m', labelsize=6)
plt.title('nasdaq100-ALL')
plt.xlabel('Day')
plt.ylabel('Value')

plt.subplot(222)
plt.plot(AAL_100, ls='-.', c='rosybrown')
plt.tick_params(axis='x', direction='in', width=2, colors='c', labelsize=6)
plt.tick_params(axis='y', direction='inout', width=2, colors='m', labelsize=6)
plt.title('nasdaq100-ALL_100')
plt.xlabel('Day', fontsize=6, color='k')
plt.ylabel('Value', fontsize=6)

plt.subplot(223)
plt.plot(ADBE, 'r')
plt.tick_params(axis='x', direction='in', width=2, colors='c', labelsize=6)
plt.tick_params(axis='y', direction='inout', width=2, colors='m', labelsize=6)
plt.title('nasdaq100-ADBE')
plt.xlabel('Day')
plt.ylabel('Value')

plt.subplot(224)
plt.plot(ADBE_100, ls='-.', c='rosybrown')
plt.tick_params(axis='x', direction='in', width=2, colors='c', labelsize=6)
plt.tick_params(axis='y', direction='inout', width=2, colors='m', labelsize=6)
plt.title('nasdaq100-ADBE_100')
plt.xlabel('Day', fontsize=6, color='k')
plt.ylabel('Value', fontsize=6)

plt.show()

在这里插入图片描述

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Matplotlib 中,可以通过设置坐标轴的位置来将其放置在图形的右侧。具体步骤如下: 1. 导入 Matplotlib 库和 pyplot 模块: ``` python import matplotlib.pyplot as plt ``` 2. 绘制你需要的图形,如折线图、散点图等。 3. 获取当前坐标轴对象,使用 `ax = plt.gca()` 或 `ax = plt.subplot()` 方法。 4. 使用 `ax.spines` 属性获取坐标轴对象的边框。 5. 对于需要移动的坐标轴,将其 `set_position()` 方法的参数设置为一个元组 `(x, y)`, 其中 x 和 y 分别表示坐标轴的位置。 6. 对于需要移动的坐标轴标签,使用 `set_position()` 方法设置标签的位置。 下面是一个示例代码,将 y 轴的标签移动到图形的右侧: ``` python import matplotlib.pyplot as plt import numpy as np # 生成示例数据 x = np.linspace(0, 10, 100) y = np.sin(x) # 绘制折线图 plt.plot(x, y) # 获取当前坐标轴对象 ax = plt.gca() # 将 y 轴移动到图形的右侧 ax.spines['right'].set_position(('axes', 1.0)) # 将 y 轴标签移动到图形的右侧 ax.yaxis.set_label_position('right') ax.yaxis.tick_right() # 显示图形 plt.show() ``` 在这个示例中,我们生成一个正弦曲线的示例数据,并使用 `plt.plot()` 方法绘制了折线图。然后,我们获取当前坐标轴对象 `ax`,并使用 `ax.spines['right'].set_position(('axes', 1.0))` 将 y 轴移动到图形的右侧。最后,使用 `ax.yaxis.set_label_position('right')` 和 `ax.yaxis.tick_right()` 将 y 轴标签和刻度移动到图形的右侧。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值