一、绘制普通的多线图。

除了常规的样式坐标名字以及调节大小等,还有一些解决的特殊的,但是需要的问题。

1、 注意我们经常保存的画会留白很大,解决了这个问题

2、中文乱码

3、图像模糊,清晰度不够也解决了

import cv2
from pylab import *  # 支持中文
mpl.rcParams['font.sans-serif'] = ['SimHei']img2 = cv2.imread("img/fenge-1-1.jpg")
img4 = cv2.imread("img/fenge-1-1-0.06.jpg")
img5 = cv2.imread("img/fenge-1-1-0.02.jpg")
img6 = cv2.imread("img/fenge-1-1-0.1.jpg")img2 = cv2.cvtColor(img2, cv2.COLOR_BGR2HSV)
h1, s, img2 = cv2.split(img2)  # 看单通道的
img_array2 = np.array(img2)  # 把图像转成数组格式img = np.asarray(image)
mean2 = np.average(img_array2, axis=0)  # 按列求均值img4 = cv2.cvtColor(img4, cv2.COLOR_BGR2HSV)
h1, s, img4 = cv2.split(img4)  # 看单通道的
img_array4 = np.array(img4)  # 把图像转成数组格式img = np.asarray(image)
mean4 = np.average(img_array4, axis=0)  # 按列求均值img5 = cv2.cvtColor(img5, cv2.COLOR_BGR2HSV)
h1, s, img5 = cv2.split(img5)  # 看单通道的
img_array5 = np.array(img5)  # 把图像转成数组格式img = np.asarray(image)
mean5 = np.average(img_array5, axis=0)  # 按列求均值img6 = cv2.cvtColor(img6, cv2.COLOR_BGR2HSV)
h1, s, img6 = cv2.split(img6)  # 看单通道的
img_array6 = np.array(img6)  # 把图像转成数组格式img = np.asarray(image)
mean6 = np.average(img_array6, axis=0)  # 按列求均值# plt.plot(mean2,c="g",label=u'a=std/(255*2)')
# plt.plot(mean4,linestyle=":",c="r",label=u'a=0.06')
# plt.plot(mean5,linestyle="-.",c="b",label=u'a=0.02')
# plt.plot(mean6,linestyle="--",c="k",label=u'a=0.1')plt.plot(mean2,linewidth=1,c="g",label=u'a=std/(255*2)')
plt.plot(mean4,linewidth=1,linestyle=":",c="r",label=u'a=0.06')
plt.plot(mean5,linewidth=1,linestyle="--",c="b",label=u'a=0.02')
plt.plot(mean6,linewidth=1,linestyle="-.",c="darkorange",label=u'a=0.1')plt.legend(loc='upper right',prop={'family':'SimHei','size':9})  # 让图例生效
# plt.legend(loc='upper right',size=5)  # 让图例生效lower
plt.tick_params(direction='in')  # 刻度向里
plt.xlim([0, 255])  # 横坐标范围
plt.ylim([100, 150])  # 横坐标范围
plt.ylim([100, 150])  # 横坐标范围
# plt.grid(True)  ##增加格点
plt.axis('tight')  # 坐标轴适应数据量 axis 设置坐标轴
plt.xlabel("图像1宽度/(像素)", size=10)
plt.ylabel("列平均灰度值", size=10)# plt.title("a不同取值的L*(x,y)的一维曲线图")  # 标题#方法一# plt.rcParams['savefig.dpi'] = 800 #图片像素
# #
# # plt.rcParams['figure.dpi'] = 800 #分辨率
# #
# # # plt.axis('off')可以去坐标轴
# # plt.savefig('img/name-2.jpg')
# 方法二
#可以直接设置保存好的图的清晰度,大小
# plt.set_size_inches(6, 6)  #设置保存图片的尺寸
plt.savefig('img/name-1.jpg', dpi=800,bbox_inches='tight')#bbox_inches使生成的图片周围的空白缩小
#在 plt.show() 之前调用 plt.savefig(),否则出现空白plt.show()cv2.waitKey(0)
cv2.destroyAllWindows()

二、注意:另外一种设置刻度方向的方法:

import matplotlib.pyplot as plt

plt.rcParams['xtick.direction'] = 'in'  # 将x周的刻度线方向设置向内
plt.rcParams['ytick.direction'] = 'in'  # 将y轴的刻度方向设置向内

plt.rcParams['xtick.direction'] = 'out'  # 将x周的刻度线方向设置向外
plt.rcParams['ytick.direction'] = 'out'  # 将y轴的刻度方向设置向内外

plt.rcParams['xtick.direction'] = 'inout'  # 将x周的刻度线方向设置向中间
plt.rcParams['ytick.direction'] = 'inout'  # 将y轴的刻度方向设置向中间

三、颜色样式

Python matplotlib 作图(一、线条颜色、类型设置)_qq_17576739的博客-CSDN博客_python画图线条粗细

四、绘制3D图(秀一下)

import cv2
from pylab import *  # 支持中文
mpl.rcParams['font.sans-serif'] = ['SimHei']
from IPython.core.pylabtools import figsize # import figsizeimg = cv2.imread("img/1-2.jpg", 0)
# print(img.shape)#可以查看是200*200 3通道还是单通道
cv2.imshow('img',img)
height, width= img.shape[:2]
print(height, width)img = cv2.resize(img, (height,width))xx, yy = np.mgrid[0:img.shape[0], 0:img.shape[1]]# create the figure
fig = plt.figure()
ax = fig.gca(projection='3d')
# ax.invert_yaxis()
ax.invert_xaxis()ax.plot_surface(xx, yy, img,rstride=1, cstride=1, cmap=plt.cm.gray,linewidth=0) #plt.cm.jet
ax.set_zlabel("图像灰度值")
ax.set_xlabel('图像2宽度/(像素)')
ax.set_ylabel('图像2高度/(像素)')
ax.set_ylim(bottom=0)#y轴从0开始
ax.set_zlim(bottom=0)#z轴从0开始
# plt.xlabel("图像1宽度/(像素)", size=10)
# plt.ylabel("图像1高度/(像素)", size=10)
# plt.tick_params(direction='in')  # 刻度向里
plt.rcParams['xtick.direction']='in'
# plt.rcParams['ytick.direction']='in'
# figsize(8, 4) # 设置 figsize
# plt.rcParams['savefig.dpi'] = 600 #图片像素# plt.rcParams['figure.dpi'] = 600 #分辨率
# plt.savefig('img/3D-1-2.jpg')
#2、保存图片的大小
fig.set_size_inches(6, 6)  #设置保存图片的尺寸
plt.savefig('img/3D-1-2.jpg', dpi=600,bbox_inches='tight')
#bbox_inches使生成的图片周围的空白缩小
#在 plt.show() 之前调用 plt.savefig(),否则出现空白
plt.show()
cv2.waitKey()
cv2.destroyAllWindows()# 销毁所有窗口

三维坐标的和二维还是有区别的。

五、双y轴的应用

关键的代码:

# plt.xticks(x, x, rotation=45)#横坐标刻度旋转45度
plt.xticks([])#不显示横坐标刻度
plt.xlim([0.5, 4.5]) #横坐标范围
plt.ylim([0, 1]) #坐标范围plt.xlabel(u"原始图像              MSRCR              CALHE            本文算法")  # X轴标签
plt.title("不同算法的评价指标值的变化")  # 标题# plt.plot(greyScale_map, color='r')
plt.tick_params(direction='in')  # 刻度向里# 绘制另一Y轴
plt.twinx()
plt.plot(x, y1, marker='*',  mec='g', mfc='w', ms=10,label=u'信息熵曲线图')
plt.plot(x1, y4, marker='.', ms=10, label=u'PSNR曲线图')

python绘图技巧(高清图)相关推荐

  1. 啥是原神?女友说想要全角色语音+表情包,顺手用python把高清图也整下来了

    原神全角色中日语音+表情包+高清图 人生苦短 我用python 表情包部分: 1. 素材来自: 2. 准备模块 3. 调用浏览器驱动 4. 页面滚动 5. 保存数据 5. 效果 全角色语音+高清彩图部 ...

  2. python爬取王者荣耀皮肤高清图

    python爬取王者荣耀皮肤高清图 前期准备,导入模块 requests json os 进入王者荣耀官网,进入游戏壁纸页面,f12进入开发者模式,按照下图找到这个json文件,用于对图片的数据请求. ...

  3. 如何在ANSYS中出高清图

    如何在ANSYS中出高清图 简述: 在ANSYS中,各板块出高清图都是不一样的,但共同点都是 1.找到截图命令 2.调节像素(将像素变高几千乘几千) 3.检查并更改图片格式 4.更换图片背景,通常将背 ...

  4. 一加7t人脸识别_一加7T系列国行版开启预约 谷歌Pixel 4系列高清图曝光

    据一加手机官方消息,一加7T系列国行版已经开启预约,全新系列将于10月15日正式发布. 一加7T采用6.55英寸,分辨率为2400×1080的AMOLED显示屏,具有90Hz刷新率.峰值亮度为1000 ...

  5. 【iOS-cocos2d-X 游戏开发之十六】Cocos2dx编译后的Android自动使用(-hd)高清图设置自适应屏幕...

    本篇主要介绍Cocos2dx项目开发过程中或者说项目务必遇到的一些知识点(ps.貌似Himi博客写的都是务必的 :tx:  Himi认为写别人没写的才更容易吸引人不是-) OK,不多说废话,第一个介绍 ...

  6. 疯狂python讲义视频 百度云-疯狂Python讲义 PDF高清版附源码

    内容简介 本书全面,深入地介绍了Python编程的相关内容,大致可分为四个部分.*系统部分介绍了Python的基本语法结构,函数编程,类和对象,模块和包,异常处理等: 第二部分主要介绍Python常用 ...

  7. 分享一套高级Java笔试题(实拍高清图)

    转载自 分享一套高级Java笔试题(实拍高清图) 下面是部分分享原图

  8. python神经网络编程pdf百度云下载-Python神经网络编程高清版.pdf

    Python神经网络编程高清版.pdf 所属分类:人工智能/神经网络/深度学习 开发工具:Python 文件大小:9787KB 下载次数:2 上传日期:2020-06-26 11:49:20 上 传 ...

  9. (元)黄公望---富春山居图(中国十大传世名画之八) 高清图下载

    <富春山居图> 高清图下载: 元.黄公望<富春山居图>.jpg <富春山居图>是元朝画家黄公望的作品,是黄公望为无用师所绘,以浙江富春江为背景,全图用墨淡雅,山和水 ...

  10. 仿微博、微信、qq 点击缩略图, 查看高清图 UI 组件

    TransferImage 项目地址:Hitomis/TransferImage  简介:仿微博.微信.qq 点击缩略图, 查看高清图 UI 组件 更多:作者   提 Bug    标签: Image ...

最新文章

  1. Openstack_通用技术_RPC 远程异步调用
  2. 信息安全技术 网络安全事件应急演练指南_省局举办网络安全培训讲座
  3. pyqt5能否用于鸿蒙系统,PyQt显示来自opencv的视频流
  4. 2019年JAVA比较火的框架_2019年Java技术中当前流行的三大框架
  5. Centos6 安装RabbitMq3.7.7
  6. 更改用户密码oracle,oracle数据库更改用户密码
  7. android 号码查联系人,Android联系人查询
  8. 研究笔记:iOS中使用WebViewProxy拦截URL请求
  9. 50个最有用的Matplotlib数据分析与可视化图
  10. 一个开发10年程序员论:零基础学习Python最正确的步骤
  11. C++_虚函数的实现的基本原理
  12. position的absolute;fixed;relative;static;inherit属性小结
  13. 【PowerBuilder 9.0 使用时第一次遇到的错误 c0031】
  14. STM32F7 SAI驱动
  15. mac上如何提取图片上的文字?几款不错的OCR文字识别工具推荐
  16. 计算机用户名怎么注册,微软账号怎么注册 Microsoft帐户注册使用教程
  17. Phonetic symbol 辅音 - 清辅音 -- /f/
  18. Vue视频插件vue-video-player的使用
  19. 换算rem的宽度和高度不生效 chrome字体最小为12px
  20. HDFS命令:hdfs dfs

热门文章

  1. MUI框架-01-介绍-准备-创建项目
  2. 蓝牙技术|蓝牙音频LE Audio的技术特点
  3. 怎么把倒数日放到桌面上,华为电脑便签怎么在桌面上显示倒计时
  4. 魅族 计算机 隐藏,不知道你们发现了么,魅族Flyme6 超好用的隐藏功能
  5. 联想电脑如何进入BIOS的方法汇总
  6. 酷炫的可视化数据地图都是咋做的?10分钟学会
  7. cfar(Constant False-Alarm Rate)
  8. 2021-11-13偏最小二乘法应用实例python程序代码
  9. 各种浏览器怎么换ip
  10. [AngularJS面面观] 15. 依赖注入 --- 初识注入器(Injector)