关于matplotlib的种种(中文支持,设置坐标名称、长度、范围、字体、时间精度、百分比显示、颜色,图片保存、大小设置)(持续更新)

ps:画完图后要用plt.show()才会显示出图来哦!

1.中文和负号支持
 # 用来正常显示负号
plt.rcParams['axes.unicode_minus']=False
# 用来正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']
# 用来正常显示负号
plt.rcParams['axes.unicode_minus'] = False
2.设置图标题和x,y轴的坐标名称
plt.title("我是标题")
plt.xlabel("我是横坐标")
plt.ylabel("我是纵坐标")
3.设置x,y轴的长度,范围
#设置坐标范围axis([xmin,xmax,ymin,ymax])
plt.axis([0, 6, -1, 1])
#设置横坐标长度
plt.xlim(0, 5)
#设置纵坐标长度
plt.ylim(0,1)
4.简单的示例
x = np.arange(1,len(df.size())+1)
y = df.size()
plt.plot(x,y)
5.设置图片的显示大小以及保存图片
a.plot()
.......
plt.rcParams['savefig.dpi'] = 300 #图片像素
plt.rcParams['figure.dpi'] = 300 #分辨率
# 默认的像素:[6.0,4.0],分辨率为100,图片尺寸为 600&400
# 指定dpi=200,图片尺寸为 1200*800
# 指定dpi=300,图片尺寸为 1800*1200
plt.savefig("./my_picture.png",dpi=300)
#保存图片
......
plt.show()
6.坐标轴设置
#设置坐标轴的刻度垂直显示,并设置字体大小为4
plt.xticks(rotation='vertical',fontsize=4)
7.设置坐标轴旋转角度(逆时针)
#x轴逆时针旋转90度
plt.xticks(rotation=90)
#若为负数,则是顺时针旋转
7.设置横坐标显示时间的刻度范围
import matplotlib.dates as mdates
...
#设置横坐标显示时间的刻度范围
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))
8.设置横纵坐标显示数值为百分比
from matplotlib.ticker import FuncFormatter
def to_percent(temp, position):
    return '%.2f'%(temp) + '%'
...
#设置横坐标
plt.gca().xaxis.set_major_formatter(FuncFormatter(to_percent))
#设置纵坐标
plt.gca().yaxis.set_major_formatter(FuncFormatter(to_percent))
8.显示线的名称
#显示线的名称,并且位置自由放置
plt.legend(('label', 'label if > 0.5', 'label if < -0.5'), loc='best')
9.设置图的颜色和名称
#设置为红色和“line1”的名称,可通过上面的方法显示
plt.plot(x, y, color='red', label='line 1')
10.设置画布大小
plt.figure(figsize=(6,8))
# 表示figure 的大小为宽、长(单位为inch)
11.绘制子图
plt.subplot(121)
# 表示整个figure分成1行2列,共2个子图,这里子图在第一行第一列
plt.subplot(122)
# 表示子图在第一行第二列
示例:

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 100)
#作图1
plt.subplot(221)
plt.plot(x, x)
#作图2
plt.subplot(222)
plt.plot(x, -x)
#作图3
plt.subplot(223)
plt.plot(x, x ** 2)
plt.grid(color='r', linestyle='--', linewidth=1,alpha=0.3)
#作图4
plt.subplot(224)
plt.plot(x, np.log(x))
plt.show()
12.创建自定义图像
fig=plt.figure(figsize=(4,3),facecolor='blue')
plt.show()

1.figure语法及操作

(1)figure语法说明

figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)

num:图像编号或名称,数字为编号 ,字符串为名称
figsize:指定figure的宽和高,单位为英寸;
dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80      1英寸等于2.5cm,A4纸是 21*30cm的纸张 
facecolor:背景颜色
edgecolor:边框颜色
frameon:是否显示边框
13.创建子图补充(11)
x = [1.0, 2.0, 3.0]
y = [3.0, 6.0, 5.0]
fig = plt.figure()
ax = fig.add_subplot(348)
# 参数348的意思是:将画布分割成3行4列,图像画在从左到右从上到下的第8块
# 如果是第10块,要写成(3,4,10)这种形式
ax.plot(x,y)
plt.show()

用例1:
import matplotlib as mpl
import matplotlib.pyplot as plt
plt.rc('figure',figsize=(9,7)) # 统一修改figure画布大小
import datetime
import matplotlib.dates as mdates
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']= False # 用来正常显示负号

fig  = plt.figure() #创建自定义图像
ax = fig.add_subplot(1,1,1)
ax.set_title(u"C盘已使用空间的时序图")
ax.set(xlabel=u'日期',ylabel=u'磁盘使用大小')
# 图上时间间隔显示为10天
ax.xaxis.set_major_locator(mdates.DayLocator(bymonthday=range(1,32), interval=10)) 
ax.xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m-%d"))
plt.subplots_adjust(bottom=0.13,top=0.95)
ax.plot(d['COLLECTTIME'],d['VALUE'],'ro-',)

fig.autofmt_xdate() #自动根据标签长度进行旋转
plt.savefig('c.jpg')
plt.show()

在这里插入图片描述

14.快速画图
fig = plt.figure(figsize=(10,8)).add_subplot(111).plot(df[x], df[y])
plt.show()
15.设置x轴和y轴在零点相交
plt.title('cos')
plt.legend(['label1'])

ax = plt.gca()
#去掉边框
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
#移位置 设为原点相交
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

plt.show()
16.去掉图像右上角边框线
ax = plt.axes()
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值