写完毕业论文啦,终于可以有时间把学到的东西整理一下,今天总结一下关于图形绘制及让图好看的操作。

python 图形绘制

  • 一、图形绘制
    • 1.1简单图形
    • 1.2 改线粗、颜色、添加图例、点形状
    • 1.3 颜色设置模块
    • 1.4图例设置
      • 1.4.1 图例背景\位置\大小
        • 1.4.1.1 图例位置
        • 1.4.1.2 图例大小
        • 1.4.1.2 图例字体类型
    • 1.5 线类型
    • 1.6 点形状(marker)
    • 1.5 在图中添加文字(text)
    • 1.6 改刻度范围、刻度字体大小及坐标轴字体
    • 1.7 改图框粗细及图像大小像素
      • 1.7.1 图框粗细
      • 1.7.2 去除任意坐标轴
      • 1.7.3 图像大小像素设置
  • 二、完整的图形实例

一、图形绘制

1.1简单图形

先从绘制一幅简单的图开始,假设已知要画的点,那么:

import matplotlib #引入画图数据库
import matplotlib.pyplot as plt
import numpy as np# Data for plotting
x=[1,2,3,4,5]
y=[1,4,9,16,25]
plt.plot(x,y) #画图,自变量x放前面
plt.show()

1.2 改线粗、颜色、添加图例、点形状

是不是感觉图不好看?接下来改线粗、颜色、线类型、添加标签

plt.plot(x,y,,linewidth =2.0, label = r"$\mathregular{\xi_a}$=0",color='b', linestyle='-',marker='*') #功能依次为线粗、标签(图例)、颜色、线类型、点形状
plt.legend() #标签显示(一般称为图例)

这里所涉及的相关参数在后面都会给出选择

1.3 颜色设置模块

即将color='b’中的b改成颜色模块后的字母,如r,tab:pink,black等


1.4图例设置

图例的代码与latex的是相通的
参考链接:https://blog.csdn.net/Ying_Xu/article/details/51240291
需要展示希腊字母时:

label=r"$希腊字母代码$"

展示普通字母:

label="$普通字母$"

1.4.1 图例背景\位置\大小

官方关于plt.legend()各个参数的设置:https://matplotlib.org/api/legend_api.html?highlight=legend#module-matplotlib.legend

plt.legend(frameon=False,loc="upper right",fontsize='small') #分别为图例无边框、图例放在右上角、图例大小

1.4.1.1 图例位置

图例位置一般系统会默认最好的位置(best),不过有些情况需要自己调。将一块平面分为九个方向,分别为:
右上“upper right”,右下“lower right”,正右“right”,左上“upper left”,左下“lower left”,中央偏左“center left”,中央偏上“upper center”,中央偏下“lower center”,正中央“center”

1.4.1.2 图例大小

图例大小有几种,如果不设置系统默认偏小,自调可以用:‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’

1.4.1.2 图例字体类型

font3 = {'family' : 'Arial','weight' : 'normal'}
plt.legend(frameon=False,loc="upper right",fontsize='small',prop=font3) #分别为图例无边框、图例放在右上角、图例大小

使用形参prop=font3,设置图例的字体类型,也可以通过在font3中添加size=10,实现设置图例大小

1.5 线类型

官方参考链接:https://matplotlib.org/gallery/lines_bars_and_markers/linestyles.html#sphx-glr-gallery-lines-bars-and-markers-linestyles-py
linestyle=‘此处放左边名字的下方小字’,如:linestyle=‘solid’,linestyle=(0, (1, 10));

1.6 点形状(marker)

官方参考:https://matplotlib.org/gallery/lines_bars_and_markers/marker_reference.html#sphx-glr-gallery-lines-bars-and-markers-marker-reference-py
https://matplotlib.org/gallery/lines_bars_and_markers/marker_fillstyle_reference.html#sphx-glr-gallery-lines-bars-and-markers-marker-fillstyle-reference-py
marker=‘形状代码’,形状大小可以用代码:markersize=4



1.5 在图中添加文字(text)

import matplotlib #引入画图数据库
import matplotlib.pyplot as plt
import numpy as np# Data for plotting
x=[1,2,3,4,5]
y=[1,4,9,16,25]
plt.plot(x,y,linewidth =2.0, label = r"$\mathregular{\xi_a}$=0",color='tab:pink', linestyle=(0, (1, 10)),marker='*') #画图,自变量x放前面
plt.legend(loc="upper left") #设置图例及图中文本显示
plt.text(2, 20,'(g)',fontsize=18)# 在图中添加文字
plt.show()

1.6 改刻度范围、刻度字体大小及坐标轴字体

font1 = {'family' : 'Arial',
'weight' : 'normal',
'size'   : 18,
} #Arial是字体形式
plt.xlabel('t /s',font1) #x轴坐标名称及字体样式
plt.ylabel('j',font1) #y轴坐标名称及字体样式
plt.xticks(fontsize=13) #x轴刻度字体大小
plt.yticks(fontsize=13) #y轴刻度字体大小
#下面设置刻度字体的类型
ax=plt.gca()
labels = ax.get_xticklabels() + ax.get_yticklabels()
[label.set_fontname('Arial') for label in labels]
#设置刻度横线的长度与粗细
plt.tick_params(axis='both',width=1,length=5)
plt.xlim(0,18)#X轴范围
plt.ylim(0,120)#显示y轴范围

关于font:https://matplotlib.org/_modules/matplotlib/font_manager.html#FontEntry
https://www.w3.org/TR/CSS2/
https://matplotlib.org/gallery/text_labels_and_annotations/fonts_demo.html#sphx-glr-gallery-text-labels-and-annotations-fonts-demo-py

1.7 改图框粗细及图像大小像素

1.7.1 图框粗细

这里相当于再画一个图框覆盖在原来的图上面,去掉任意一条边并不能在图上去掉,这里去掉一条边只是让那条边不变粗而已

#设置图框线粗细
bwith = 1.5 #边框宽度设置为2
TK = plt.gca()#获取边框
TK.spines['bottom'].set_linewidth(bwith)#图框下边
TK.spines['left'].set_linewidth(bwith)#图框左边
TK.spines['top'].set_linewidth(bwith)#图框上边
TK.spines['right'].set_linewidth(bwith)#图框右边

1.7.2 去除任意坐标轴

官方参考:https://matplotlib.org/gallery/axisartist/simple_axisline3.html#sphx-glr-gallery-axisartist-simple-axisline3-py

import matplotlib.pyplot as plt
from mpl_toolkits.axisartist.axislines import Subplotfig = plt.figure(figsize=(3, 3))ax = Subplot(fig, 111)
fig.add_subplot(ax)ax.axis["right"].set_visible(False)
ax.axis["top"].set_visible(False)plt.show()

1.7.3 图像大小像素设置

官方指导:https://matplotlib.org/api/_as_gen/matplotlib.figure.Figure.html?highlight=dpi#matplotlib.figure.Figure.dpi

plt.rcParams['figure.figsize']=(6.0,4.0)
plt.rcParams['savefig.dpi'] = 200 #图片像素
plt.rcParams['figure.dpi'] = 200 #分辨率
# 默认的像素:[6.0,4.0],分辨率为100,图片尺寸为 600&400
# 指定dpi=200,图片尺寸为 1200*800
# 指定dpi=300,图片尺寸为 1800*1200
# 设置figsize可以在不改变分辨率情况下改变比例

二、完整的图形实例

import matplotlib #引入画图数据库
import matplotlib.pyplot as plt# Data for plotting
x=[1,2,3,4,5]
y=[1,4,9,16,25]
plt.plot(x,y,linewidth =2.0, label = r"$\mathregular{\xi_a}$=0",color='tab:pink', linestyle='solid',marker='D') #画图,自变量x放前面
#以下为图形设置参数
plt.legend(frameon=False,loc="upper left",fontsize='large') #设置图例无边框,将图例放在左上角
plt.rcParams['figure.figsize']=(6.0,4.0) #图形大小
plt.rcParams['savefig.dpi'] = 200 #图片像素
plt.rcParams['figure.dpi'] = 200 #分辨率
# 默认的像素:[6.0,4.0],分辨率为100,图片尺寸为 600&400
# 指定dpi=200,图片尺寸为 1200*800
# 指定dpi=300,图片尺寸为 1800*1200
# 设置figsize可以在不改变分辨率情况下改变比例font1 = {'family' : 'Arial',
'weight' : 'normal',
'size'   : 18,
}
plt.xlabel('x',font1) #x轴坐标名称及字体样式
plt.ylabel('y',font1) #y轴坐标名称及字体样式
#插入文本框
plt.text(-1, 30,'(a)',fontsize=18) #在图中添加文本plt.xticks(fontsize=13) #x轴刻度字体大小
plt.yticks(fontsize=13) #y轴刻度字体大小
plt.xlim(0,6)#X轴范围
plt.ylim(0,30)#显示y轴范围#设置图框线粗细
bwith = 1.5 #边框宽度设置为2
TK = plt.gca()#获取边框
TK.spines['bottom'].set_linewidth(bwith)
TK.spines['left'].set_linewidth(bwith)
TK.spines['top'].set_linewidth(bwith)
TK.spines['right'].set_linewidth(bwith)#plt.grid() #显示网格线
plt.show()

【python学习】-matplotlib图形设置(线宽、标签、颜色、图框、线类型、图例大小位置、图框大小及像素等)相关推荐

  1. python中matplotlib自定义设置图像标题使用的字体类型:获取默认的字体族及字体族中对应的字体、自定义设置图像标题使用的字体类型

    python中matplotlib自定义设置图像标题使用的字体类型:获取默认的字体族及字体族中对应的字体.自定义设置图像标题使用的字体类型 目录

  2. Python学习笔记——绘图设置(三)箱线图

    箱线图也称箱须图,是利用数据中的五个统计量:最小值.第一四分位数(25%).中位数.第三四分位数(75%).最大值来描述数据的一种方法,粗略的看出数据是否有对称性.分布的分散程度等信息,可以用来比较多 ...

  3. Python学习-Matplotlib库绘制简单点阵图、线型图操作

    Python学习-Matplotlib库绘制简单散点图图和线型图.标签设置以及刻度线设置操作 目录 1.Matplotlib绘图细节的简单理解 2.绘制点图.线型图 3.给图表设置复杂标注 4.移动刻 ...

  4. 用python的matplotlib和numpy库绘制股票K线均线和成交量的整合效果(含量化验证交易策略代码)...

    在用python的matplotlib和numpy库绘制股票K线均线的整合效果(含从网络接口爬取数据和验证交易策略代码)一文里,我讲述了通过爬虫接口得到股票数据并绘制出K线均线图形的方式,在本文里,将 ...

  5. 用python画股票分时图 github_用python的matplotlib和numpy库绘制股票K线均线和成交量的整合效果(含量化验证交易策略代码)...

    在用python的matplotlib和numpy库绘制股票K线均线的整合效果(含从网络接口爬取数据和验证交易策略代码)一文里,我讲述了通过爬虫接口得到股票数据并绘制出K线均线图形的方式,在本文里,将 ...

  6. 【数据处理】Python,matplotlib 如何画柱状图?如何画各种类型的柱状图?柱子宽度设置;设置X轴刻度用label显示;设置柱子距离x轴的高度;设置柱体颜色;设置柱体描边;并列、多条柱状图

    Base python matlibplot库-- 一.主要参数介绍: bar(left, height, width=0.8, bottom=None, **kwargs) left为和分类数量一致 ...

  7. 转载 Python 学习-Matplotlib库

    Python学习-Matplotib 载出处:https://blog.csdn.net/weixin_60535956/article/details/128311973 目录 Matplotlib ...

  8. linux python matplotlib 使用,关于Linux:如何在Python的matplotlib中设置“后端”?

    我是matplotlib的新用户,我的平台是Ubuntu 10.04 Python 2.6.5 这是我的代码 import matplotlib matplotlib.use('Agg') impor ...

  9. Python学习 matplotlib库 霍兰德人格分析雷达图

    [Python学习] matplotlib库 绘制霍兰德人格分析雷达图 学习一些Python知识.用matplotlib库进行雷达图的绘制. 实现效果图片: 代码参考:<Python语言程序设计 ...

最新文章

  1. Java异常体系结构
  2. window下使用虚拟机安装Linux操作系统CentOS
  3. 怕了么?三年后,人工智能将彻底改变前端开发?
  4. queue 队列优先级
  5. Reallusion Character Creator 3中文版
  6. 汉拓中国CRM评估报告简介
  7. date数据要在前台显示
  8. oracle数据库纵表设计,oracle 数据库设计-数据库表设计
  9. Ant Design Pro 开启默认进入登录页
  10. Flask爱家租房--订单(房东接单、拒单)
  11. Confluence 6 示例 - https://confluence.atlassian.com/
  12. vue中 点击事件的写法_Vue父子组件状态同步的最佳方式
  13. android app 检测是否开启了开发者模式
  14. 获取cad注册表路径
  15. 计算机网络资源子网主要包括,计算机网络期末试题
  16. War3地图编辑器基础:玩家设置+地图元素的属性设置+地图事件设置
  17. python的wxpyton库开发的聊天程序
  18. woo 语言最简单的生成验证码方式,是个人都能看懂,反正比py简单多了
  19. 面试笔记(网易-Java开发实习)
  20. 产品分析报告:「腾讯相册管家」,你的回忆,由我珍藏

热门文章

  1. 【Tensorflow学习三】神经网络搭建八股“六步法”编写手写数字识别训练模型
  2. 杨氏双缝干涉 matlab仿真,基于MATLAB的杨氏双缝干涉实验仿真.pdf
  3. 程序员必备|程序猿常用的Mac编程软件下载
  4. js 生成二维码 下载到本地
  5. 插件记录-dplayer直播插件
  6. 说开源 讲红帽:从20亿美金到2017中国战略
  7. 呆滞库存产生的原因是什么?该如何预防?
  8. 【华为OD机试真题 python】硬件产品销售方案【2023 Q1 | 200分】
  9. 为什么Facebook无法取消QAnon
  10. C# 使用NPOI 操作 Excel 文件