python绘图技巧(高清图)

这篇具有很好参考价值的文章主要介绍了python绘图技巧(高清图)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、绘制普通的多线图。

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

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()

python绘图技巧(高清图)

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

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画图线条粗细

python绘图技巧(高清图)

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

import cv2
from pylab import *  # 支持中文
mpl.rcParams['font.sans-serif'] = ['SimHei']
from IPython.core.pylabtools import figsize # import figsize

img = 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()# 销毁所有窗口

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

python绘图技巧(高清图)

 五、双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绘图技巧(高清图)文章来源地址https://www.toymoban.com/news/detail-449081.html

到了这里,关于python绘图技巧(高清图)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python绘制折线图

            俗话说,“字不如表,表不如图”,图表在数据分析中的作用不言而喻。python中有pandas和matplotlib两个库供使用者来绘制图表。下面来绘制“成绩表.xlsx”的折线图。  废话不多说,直接上代码: 对上述重要函数的参数进行详细讲解: plot函数:以plt.plot(x,y2,label=

    2024年02月11日
    浏览(50)
  • Python Matplotlib数据可视化绘图之(二)————箱线图

    本文我们主要介绍利用Python中的Matplotlib模块进行几种箱线图的画法,包括整张图片只有一种颜色的不分组箱线图、整张图片有好几种颜色的不分组箱线图、整张图片有好几种颜色的分组箱线图等。 主要利用Python中的Matplotlib模块完成该功能。 表格如下(示例): 班别 语文成

    2024年02月05日
    浏览(52)
  • python绘制股票k线图

    使用python绘制股票k线图 1. 需要安装的包 tushare matplotlib mpl_finance datetime 使用Anaconda Prompt安装,安装语句’pip install 包的名字’ 2. 获取数据 使用tushare包导入数据 第一个参数’000002‘为股票代码,第二个参数start表示起始时间,第三个参数end表示结束日期。 获取的数据df为Da

    2024年02月06日
    浏览(38)
  • 【Python】Matplotlib绘制折线图

    1.Matplotlib画图简单实现 Matplotlib在一个绘制2D图片的库 2.折线图 2.1绘制折线图 接下来逐步对折线图进行修改 2.2设置线的格式 2.3设置折点 2.4.图片的保存和导出 2.5设置刻度 2.6显示中文 matplotlib只显示应为,无法显示中文,需要修改matplotlib的默认字体 通过matplotlib下的font_mange

    2023年04月09日
    浏览(79)
  • python绘制k线图均线图

    Date,Close,Volume,Open,High,Low 06/23/2023,$186.68,53117000,$185.55,$187.56,$185.01 06/22/2023,$187.00,51245330,$183.74,$187.045,$183.67 06/21/2023,$183.96,49515700,$184.90,$185.41,$182.5901 06/20/2023,$185.01,49799090,$184.41,$186.10,$184.41 06/16/2023,$184.92,101256200,$186.73,$186.99,$184.27 06/15/2023,$186.01,65433170,$183.96,$186.52,$183.78 06/14/2023,$

    2024年02月20日
    浏览(39)
  • Python:箱线图的理解与绘制

    目录 一、箱线图简介 二、箱线图的绘制 2.1 基于matplotlib库的箱线图绘制 (1)函数主要参数及功能 (2)函数返回值 (3)示例 2.2 基于seaborn库的箱线图绘制 (1)函数主要参数功能及其返回值 (2)示例 附录 Python绘图待扩展阅读 如下图所示,箱线图(箱形图、盒须图)是一

    2024年02月11日
    浏览(36)
  • 绘制多条折线图的python代码实现

    绘制多条折线图的python代码实现 在Python中,我们可以使用matplotlib库来绘制折线图。对于需要同时绘制多条折线图的情况,我们可以通过加入多个线条的方式来达到目的。下面是一个简单的例子,展示了如何在可视化图像中同时绘制多条折线图。 首先,我们需要导入matplotli

    2024年02月08日
    浏览(39)
  • 【Python】Python中使用Matplotlib绘制折线图、散点图、饼形图、柱形图和箱线图

    python数据可视化课程,实验二 Matplotlib 中文API:API 概览 | Matplotlib 一、实验任务的数据背景 提供的源数据(数据文件employee.csv)共拥有4个特征,分别为就业人员、第一产业就业人员、第二产业就业人员、第三产业就业人员。根据3个产业就业人员的数量绘制散点图和折线图。

    2023年04月15日
    浏览(94)
  • python使用matplotlib实现折线图的绘制

    一、意义 数据可视化可以以简洁的方式呈现出数据,发现众多数据中隐藏的规律和意义。Matplotlib是一个数学绘图库。利用它可以制作简单的图表(散点图、折线图)。然后,将基于漫步概念生成一个更有趣的数据集–根据一系列随机决策生成的图表。本文我们主要练习折线

    2024年02月12日
    浏览(32)
  • Python 折线图的绘制(Seaborn篇-04)

    Python 折线图的绘制(Seaborn篇-04)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔

    2024年01月21日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包