python绘图工具matplotlib绘图基础

具体可以百度matplotlib官方文档的样例展示。
1、导入包

import matplotlib.pyplot as plt  
# 或者以下语句
from matplotlib import pyplot as plt

2、绘图

plt.plot(x, y)

3、设置图片大小

plt.figure(figsize=(20, 15),dpi=80)  # figsize是画布尺寸,dpi是像素

4、设置图的坐标与标题

plt.xticks(x_list, xtick_labels, rotation=45)
plt.yticks(y_list)
plt.title("图表标题")
# x_list为刻度列表,xtick_labels是替换的标签列表(须与刻度列表一一对应),如日期等,rotation为旋转角度。举例如下:
x_list = range(0,120)
xtick_labels = [f"5点{i}分" for i in range(60)]+[f"6点{i}分" for i in range(60)]

5、设置中文字体,matplotlib默认不显示中文字体。首先在命令提示符cmd中输入fc-list :lang=zh-cn按回车即可查看电脑支持的字体和字体路径。下面以FangSong字体举例。

# 第一种方式
font = {"family":'FangSong',"weight":'bold',"size":'larger'}
matplotlib.rc("font",**font)

# 第二种方式
matplotlib.rc("font",family:'FangSong',weight:'bold',size:'larger')

# 第三种方式
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="字体路径")
# 可以添加其他参数,如size,weight,stretch,variant,stytle等,可通过源码查看如何选择设置其他参数。
plt.xticks(x_list, xtick_labels, rotation=45, fontproperties=my_font)

# 第四种方式
plt.reParams['font.sans-serif']=['SimHei']  # 正常显示汉字
plt.reParams['axes.unicode_minus']=Flase  # 正常显示负号

6、设置图片网格

plt.grid(alpha=0.4, linestyle='--')  # alpha为透明的,范围为0-1

7、添加图例(多条曲线时)

plt.plot(x,y_1,label='图例1')
plt.plot(x,y_2,label='图例2')
plt.legend(prop=my_font, loc=0)  # 此处用prop接收字体
'''参数loc表示图例的位置,其参数为:
'best':0; 'upper right':1; 'upper left':2; 'lower left':3; 'lower right':4
'right':5; 'center left':6; 'center right':7; 'lower center':8; 'upper center':9
'center':10 参数值用英文单词和数字皆可。
'''

8、线条设置(颜色、风格、粗细、透明的)

plt.plot(x,y,color='r', linestyle='--', linewidth=5, alpha=0.5)
# color常见参数:r红色;g绿色;b蓝色;k黑色;w白色;c青色;m洋红;y黄色;或者用16进制颜色编码(百度)
# linestyle参数:-实线;--线虚线;-.点画线;:点虚线;''无线条

9、图片保存

plt.savefig('保存路径/图片名称')  # 推荐.svg后缀矢量图。

10、绘制散点图

plt.scatter(x,y)  # 参数和方式同plt.plot()

11、绘制条形图(横轴离散)

plt.bar(x, y, width=0.2)
plt.barh(x, y, height=0.2)  # 横着绘制
# 绘制多个条形图时,只需要将x移动一个width即可。

12、直方图(横轴连续)如图像处理中的灰度直方图

plt.hist(a, num_bins, normed=True)  #a为数组,num_bins为组数,即多少个条状。
# normed=True表示频率直方图,等于Flase表示频数直方图

13、显示图像

plt.imshow(img)  # 用于接受和处理图像 但无法显示图像(在jupyter notebook中可以展示)
 
plt.show()  # 用于展示图像

# 取消图像坐标与刻度
plt.xticks([])  # 去x坐标刻度
plt.yticks([])  # 去y坐标刻度
plt.axis('off')  # 去坐标轴

# 解决显示灰度图片问题
plt.imshow(img, cmap='gray')

其他资源:
百度ECharts:有交互效果
plotly:有交互效果,兼容matplotlib和pandas。
seaborn:无交互效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值