博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matplotlib简单使用汇总
阅读量:3937 次
发布时间:2019-05-23

本文共 4073 字,大约阅读时间需要 13 分钟。

参考链接:

画点图、线图

在这里插入图片描述

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom matplotlib.ticker import MultipleLocator# 使用numpy产生函数数据x = np.arange(6, 100, 0.5)y = x * 2x2 = np.arange(0, 10, 0.1)y2 = np.sin(x2)# 加入这句话为了能在图中写中文plt.rcParams['font.family'] = ['sans-serif']plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号# 创建窗口和子图。在绘图结构中,figure创建窗口,subplot创建子图。所有的绘画只能在子图上进行。plt表示当前子图。# 方法1:先创建窗口,再创建子图fig = plt.figure(num=1, figsize=(15, 10), dpi=100, facecolor="#BBFFFF", edgecolor='#0000CD')  # 开启一个窗口,同时设置大小,分辨率,背景颜色ax1 = fig.add_subplot(2, 1, 1)  # 通过fig添加子图。参数:行数,列数,索引。ax2 = fig.add_subplot(2, 1, 2)  # 行数和列数一致,索引代表放置的位置,从左上角开始数# 方法2:一次性创建窗口和多个子图。(空白不绘制)# fig, axarr = plt.subplots(4, 1)  # 开一个新窗口,并添加4个子图,返回子图数组# ax1 = axarr[0]  # 通过子图数组获取一个子图# print(fig, ax1)ax1.set_title("mingyu")  # 设置图的标题ax1.set_xlabel("age", fontdict={
'color': 'r', 'fontsize': '30'}) # 设置图的x轴的名称ax1.set_ylabel("money(万元)", fontdict={
'color': 'r', 'fontsize': '30'}) # 设置y轴的名称ax1.set_xlim(0, 100) # 设置x轴的范围ax1.set_ylim(0, 250) # 设置y轴的范围ax1.xaxis.set_major_locator(MultipleLocator(5)) # 定义x向主刻度标签的刻度差为2的倍数。就是隔几个刻度才显示一个标签文本ax1.yaxis.set_major_locator(MultipleLocator(15)) # 定义y向主刻度标签的刻度差为3的倍数。就是隔几个刻度才显示一个标签文本ax1.set_facecolor('#FFEC8B') # 设置子图的背景颜色ax1.text(80, 200, r'y=x*2', fontdict={
'color': '#CD5C5C', 'fontsize': '20'}) # 指定位置显示文字# 画箭头,从文字的位置开始,指向目的点ax1.annotate('这里是甲子', xy=(60, 120), xytext=(63, 90), # 添加标注,参数:注释文本、指向点、文字位置、箭头属性 arrowprops=dict(facecolor='black', shrink=0.02), )# 显示网格。which参数的值为major(只绘制大刻度)、minor(只绘制小刻度)、both,默认值为major。axis为'x','y','both'。alpha透明度。linewidth线宽ax1.grid(b=True, which='major', axis='both', alpha=0.7, color='#FF6A6A', linestyle='-', linewidth=0.5)ax1.plot(x, y, marker='.', color='#6E8B3D', label='第一个子图的操作') # 画点图ax2.set_xlim(0, 10) # 设置x轴的范围ax2.set_ylim(-1.1, 1.1) # 设置y轴的范围ax2.text(0, 0.00, '_' * 92, fontdict={
'color': '#000000', 'fontsize': '20'}) # 指定位置显示文字ax2.plot(x2, y2, linestyle='--', color='#FFD39B', label='第二个子图的操作') # 画线图# plt.savefig('C:/Users/gzsqy/Desktop/aa.jpg', dpi=400, bbox_inches='tight') # 在show函数之前保存。savefig保存图片,dpi分辨率,bbox_inches子图周边白色空间的大小plt.show()

标记maker | 描述

‘o’ | 圆圈

‘.’ | 点
‘D’ | 菱形
‘s’ | 正方形
‘h’ | 六边形1
‘*’ | 星号
‘H’ | 六边形2
‘d’ | 小菱形
‘_’ | 水平线
‘v’ | 一角朝下的三角形
‘8’ | 八边形
‘<’ | 一角朝左的三角形
‘p’ | 五边形
‘>’ | 一角朝右的三角形
‘,’ | 像素
‘^’ | 一角朝上的三角形
‘+’ | 加号
‘\ ‘ | 竖线
‘x’ | X


画条形图、散点图、三维图

import numpy as npimport matplotlib.pyplot as plt# 加入这句话为了能在图中写中文plt.rcParams['font.family'] = ['sans-serif']plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号# 画条形图# plt.figure(3)# x_index = np.arange(5)  # 柱的索引# x_data = ('A', 'B', 'C', 'D', 'E')# y1_data = (20, 35, 30, 35, 27)# y2_data = (25, 32, 34, 20, 25)# bar_width = 0.35  # 定义一个数字代表每个独立柱的宽度# rects1 = plt.bar(x_index, y1_data, width=bar_width, alpha=0.4, color='b', label='男')  # 参数:左偏移、高度、柱宽、透明度、颜色、图例# rects2 = plt.bar(x_index + bar_width, y2_data, width=bar_width, alpha=0.5, color='r', label='女')  # 参数:左偏移、高度、柱宽、透明度、颜色、图例# # 关于左偏移,不用关心每根柱的中心不中心,因为只要把刻度线设置在柱的中间就可以了# plt.xticks(x_index + bar_width / 2, x_data)  # x轴刻度线# plt.legend()  # 显示图例# plt.show()# 画散点图# fig = plt.figure(4)  # 添加一个窗口# ax = fig.add_subplot(1, 1, 1)  # 在窗口上添加一个子图# ax.grid(b=True, which='major', axis='both', alpha=0.7, color='#FF6A6A', linestyle='-', linewidth=0.5)# x = np.random.random(100)  # 产生随机数组# y = np.random.random(100)  # 产生随机数组# x1 = (0.1, 0.5, 0.2, 0.6, 0.8, 0.3, 0.4, 0.1, 0.8)# y1 = (0.8, 0.1, 0.5, 0.2, 0.6, 0.8, 0.3, 0.4, 0.1)# ax.scatter(x1, y1, s=50, c='#FF6A6A', marker=".", alpha=0.5, lw=1, facecolors='none')  # x横坐标,y纵坐标,s图像大小,c颜色,marker图片,lw图像边框宽度# plt.show()  # 所有窗口运行# 画三维图fig = plt.figure(5)ax = fig.add_subplot(1, 1, 1, projection='3d')  # 绘制三维图x, y = np.mgrid[-2:2:20j, -2:2:20j]  # 获取x轴数据,y轴数据z = x * np.exp(-x ** 2 - y ** 2)  # 获取z轴数据ax.plot_surface(x, y, z, rstride=2, cstride=1, cmap=plt.cm.coolwarm, alpha=0.8)  # 绘制三维图表面ax.set_xlabel('x 轴')  # x轴名称ax.set_ylabel('y 轴')  # y轴名称ax.set_zlabel('z 轴')  # z轴名称plt.show()

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

转载地址:http://jybwi.baihongyu.com/

你可能感兴趣的文章
SQL Server Union等操作时解决不同数据库字符集冲突的问题
查看>>
Linq GroupJoin(二)
查看>>
递归:访问页面的控件或文件夹的下文件
查看>>
DataGridView分頁控件
查看>>
Linq 使用entity framework查询视图返回重复记录的问题(转)
查看>>
项目中得到执行文件版本或其它信息
查看>>
WinForm DatagridView绑定大量数据卡顿的问题
查看>>
DataGridView或 DataTable导出到excel
查看>>
Ilist To DataTable
查看>>
SQL @@IDENTITY, IDENT_CURRENT,SCOPE_IDENTITY
查看>>
簡單工廠模式
查看>>
SQL Server的數據類型
查看>>
允許文本框輸入數字,退格鍵,小數點,負號
查看>>
SOLR的一些错误
查看>>
Linux下python升级步骤
查看>>
关于mongodb ,redis,memcache
查看>>
DEDECMS BUG汇总
查看>>
html5 常用
查看>>
node-webkit:开发桌面+WEB混合型应用的神器
查看>>
Hybird APP 开发 总结
查看>>