python使用plot画图

参考地址:matplot官方文档

调用方法

from matplotlib import pyplot as plt  # 引入库
# %matplotlib inline 嵌入内部
# %matplotlib  跳出交互

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

简单使用

from matplotlib import pyplot as plt 
y = [1,2,3,2,1]
plt.plot(y)  # 绘制y坐标,x坐标使用列表0..N-1

在这里插入图片描述

x = [1, 1.1, 1.2, 1.3, 1.4]
y = [1,2,3,2,1]
plt.plot(x, y, 'bo')  # 使用蓝色(blue)、圆点型绘图, x为横坐标, y为纵坐标

在这里插入图片描述
颜色缩写:

字符 颜色
‘b’ blue 蓝色
‘g’ green 绿色
‘r’ red 红色
‘c’ cyan 青色
‘m’ magenta 紫红色
‘y’ yellow 黄色
‘k’ black 黑色
‘w’ white 白色

marker缩写如下:

字符 描述
‘.’ point marker 点
‘o’ circle marker 圆形
‘v’ triangle_down marker 下三角
‘^’ triangle_up marker 上三角
‘<’ triangle_left marker 左三角
‘>’ triangle_right marker 右三角
‘1’ tri_down marker
‘2’ tri_up marker
‘3’ tri_left marker
‘4’ tri_right marker
‘s’ square marker 方形
‘p’ pentagon marker 五角形
‘*’ star marker 星型
‘h’ hexagon1 marker 六角形1
‘H’ hexagon2 marker 六角形2
‘+’ plus marker 加号
‘x’ x marker ×型
‘|’ vline marker 竖线型
‘_’ hline marker 横线型

line缩写如下:

字符 描述
‘-’ solid line style 实线
‘–’ dashed line style 虚线
‘-.’ dash-dot line style 交错点线
‘:’ dotted line style 点线

plt.grid() # 加网格
plt.legend() # 显示图例

一个命令画三条线

import numpy as np
import matplotlib.pyplot as plt
t = np.arange(0., 5., 0.4)
plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
plt.show()

在这里插入图片描述

plt.scatter(x,y) #绘制散点图
plt.show()

jupyter 用 plt 画图显示中文

import matplotlib.pyplot as plt  
plt.rcParams['font.sans-serif'] = [u'SimHei']
plt.rcParams['axes.unicode_minus'] = False
#设置字体大小
plt.rcParams.update({"font.size":20})#此处必须添加此句代码方可改变标题字体大小

或者

plt.xlabel(u"时间")

字体设置为 新罗马

plt.rcParams['font.sans-serif'] = ['Times New Roman']

画多个子图

## 一次画四张图  demo  scatter(x,y)
plt.rcParams['font.sans-serif'] = [u'SimHei'] # 可显示中文
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(15,10)) # 设定整个画布的尺寸

plt.subplot(2,2,1)
plt.title("1月")
plt.scatter(data_01['WTUR_WSpd_Ra_F32'], data_01['WTUR_PwrAt_Ra_F32'])

plt.subplot(2,2,2)
plt.title("2月")
plt.scatter(data_02['WTUR_WSpd_Ra_F32'], data_02['WTUR_PwrAt_Ra_F32'])

plt.subplot(2,2,3)
plt.title("3月")
plt.scatter(data_03['WTUR_WSpd_Ra_F32'], data_03['WTUR_PwrAt_Ra_F32'])

plt.subplot(2,2,4)
plt.title("4月")
plt.scatter(data_04['WTUR_WSpd_Ra_F32'], data_04['WTUR_PwrAt_Ra_F32'])

plt.show()

在这里插入图片描述
设置横纵坐标刻度

import numpy as np
import matplotlib.pyplot as plt
x = range(1,13,1)
y = range(1,13,1)
plt.plot(x,y)
plt.xticks(x)
plt.show()

设置横轴刻度为非数字

import numpy as np
import matplotlib.pyplot as plt
x = range(2,10,2)
y = range(1,5,1)
x_new = ["aaa", "bbb", "ccc", "ddd"]
plt.plot(x,y)
plt.xticks(x, x_new) #设置横轴刻度
plt.gcf().autofmt_xdate() # 自动旋转横坐标
plt.show()
# 如下图, 可以发现横坐标已更改

在这里插入图片描述
等间隔绘图

import numpy as np
import matplotlib.pyplot as plt
x = range(1,5,1)
y = range(1,5,1)
plt.plot(x,y)
plt.xticks(x[::2],["aa","22","33","44"][::2])
plt.show()

绘制多子图时调整图与图之间的边距

plt.subplots_adjust(left=None,bottom=None,right=None,top=None,wspace=0.15,hspace=0.15)
# 主要是wspace(宽),hspace=0.15(高)

绘制10*10矩阵的热力图

from matplotlib import cm

# 产生10*10维矩阵
a = np.random.uniform(0.5, 1.0, 100).reshape([10,10])

# 绘制热力图
from matplotlib import cm
plt.imshow(a, interpolation='nearest', cmap=cm.coolwarm, origin='lower')
plt.colorbar(shrink=.92)

plt.xticks(())
plt.yticks(())
plt.show()

坐标轴不可见

frame = plt.gca()
# y 轴不可见
frame.axes.get_yaxis().set_visible(False)
# x 轴不可见
frame.axes.get_xaxis().set_visible(False)

矩阵显示

from matplotlib import cm
import matplotlib.pyplot as plt

X = [[0.4829, 0.4680, 0.4853]]

#X = [[1, 2], [3, 4], [5, 6.6]]
plt.imshow(X)
plt.colorbar(cax=None, ax=None, shrink=0.5)
plt.xticks([0,1,2], ['long','middle','short'])
  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值