使用Matplotlib美化和修饰图形

1. 调整坐标轴和刻度

        作为函数图像那个的必要组成部分,坐标轴和刻度直接反映了图形中变量的数值规模的范围

适当的调整和美化坐标轴及刻度能够让图形一目了然。

1.1 设置坐标轴刻度

刻度是图形的一部分,由刻度定位器(Tick Locator)和刻度格式器(Tick Formatter)两部分组成,其中刻度定位器用于制定刻度所在的位置,刻度格式器用于制定刻度显示。

刻度分为主刻度(Major Ticks)和次刻度(Minor Ticks),可以分别制定二者的位置和格式,次刻度默认为不显示。

        为了展示设置刻度参数的效果,可以先使用plot()函数生成一条余弦曲线,代码如下:

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import AutoLocator,MultipleLocator,FormatStrFormatter
x=np.linspace(0,5,100)
y=np.cos(x)
fig=plt.figure(figsize=(4,4))
ax=fig.add_subplot(111)
ax.plot(x,y,lw=2)
plt.show()

         接着设置坐标轴范围和主,次坐标轴

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import AutoMinorLocator,MultipleLocator,FormatStrFormatter
x=np.linspace(0,5,100)
y=np.cos(x)
fig=plt.figure(figsize=(4,4))
ax=fig.add_subplot(111)

ax.set_xlim(0,5)
ax.set_ylim(-1.5,1.5)
ax.xaxis.set_major_locator(MultipleLocator(1)) #将主刻度设为1的倍数
ax.yaxis.set_major_locator(MultipleLocator(1))
ax.xaxis.set_minor_locator(AutoMinorLocator(2))
ax.yaxis.set_minor_locator(AutoMinorLocator(5))


ax.plot(x,y,lw=2)
plt.show()

        可见,手工设置坐标轴范围和加入次坐标轴后,横轴的两个主刻度之间被平分成了两等分

纵轴的两个刻度之间被平均分成了5等分,而且曲线的弯曲程度也随之发生了一些变化。 

1.2 设置坐标轴的标签文本

        为了将次刻度对应的数值显示出来,可以使用以下代码调整坐标轴刻度的显示样式

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import AutoMinorLocator,MultipleLocator,FormatStrFormatter
x=np.linspace(0,5,100)
y=np.cos(x)
fig=plt.figure(figsize=(4,4))
ax=fig.add_subplot(111)

ax.set_xlim(0,5)
ax.set_ylim(-1.5,1.5)
ax.xaxis.set_major_locator(MultipleLocator(1)) #将主刻度设为1的倍数
ax.yaxis.set_major_locator(MultipleLocator(1))
ax.xaxis.set_minor_locator(AutoMinorLocator(2))
ax.yaxis.set_minor_locator(AutoMinorLocator(5))

ax.xaxis.set_minor_formatter(FormatStrFormatter('%5.1f')) #设置x轴标签文本格式
ax.yaxis.set_minor_formatter(FormatStrFormatter('%5.1f'))
ax.tick_params(which='minor',length=5,width=1,labelsize=8,labelcolor='r')
ax.tick_params('y',which='major',length=8,width=1,labelsize=10,labelcolor='b')
ax.plot(x,y,lw=2)
plt.show()

1.3 绘制刻度的网格线 

        为了更直观的看出图形子某些点的取值,可以给图形加上网格线,以下代码增加了主刻度的网格线,以蓝色虚线表示

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import AutoMinorLocator,MultipleLocator,FormatStrFormatter
x=np.linspace(0,5,100)
y=np.cos(x)
fig=plt.figure(figsize=(4,4))
ax=fig.add_subplot(111)

ax.set_xlim(0,5)
ax.set_ylim(-1.5,1.5)
ax.xaxis.set_major_locator(MultipleLocator(1)) #将主刻度设为1的倍数
ax.yaxis.set_major_locator(MultipleLocator(1))
ax.xaxis.set_minor_locator(AutoMinorLocator(2))
ax.yaxis.set_minor_locator(AutoMinorLocator(5))

ax.xaxis.set_minor_formatter(FormatStrFormatter('%5.1f')) #设置x轴
要不要长胖_
关注 关注
  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Matplotlib自定义辅助函数 (一):让你的图表大放异彩!
创作高质量博文,分享知识,共同进步!
02-15 874
🎨 Matplotlib大揭秘!让你的图表从平庸到炫酷!🚀 🌈 想要让你的Matplotlib图表大放异彩吗?快来学习如何创建自定义样式函数和颜色映射吧!🌈 🔥 在这篇文章中,我们将引导你一步步掌握如何为Matplotlib图表注入个性,从创建自定义样式函数开始,让你的图表独具魅力。接着,我们将深入探索如何创建自定义颜色映射,让你的数据可视化更加生动、吸引人!🔥
Matplotlib图表美化秘籍:自定义样式,让你的图表脱颖而出!
创作高质量博文,分享知识,共同进步!
02-12 1779
【🎨 图表大师:Matplotlib样式自定义全攻略 🎨】🌟 跃入Matplotlib的魔法世界,开启您的图表定制之旅!📘 本文将带您从零开始,一步步掌握Matplotlib图表样式的自定义技巧!🖌️ 赋予您的图表独特的个性,让数据更加生动、直观地呈现!🌟
TOP50 matplotlib画图经典案例上(附源码,建议收藏)
最新发布
2401_83817689的博客
04-21 860
琴图是箱形图的视觉替代。小提琴的形状或面积取决于其可观察的次数。但是,小提琴图很难阅读,在专业环境中不常用。
这款工具可以轻松让 Matplotlib 绘制精美漂亮的表格
m0_59596937的博客
02-02 3377
大家好,matplotlib作为数据可视化的强力工具,可以帮助我们自由创作各式各样的数据可视化作品,其中模块就专门用于绘制,但是由于参数复杂,且默认样式单一简陋,想基于它绘制出美观的表格需要花费不少功夫。而我最近发现的一个基于matplotlib的第三方库plottable,用它来生成数据表格图既简单又美观,今天的文章中费老师我就来带大家学习它的常用方法😎~
matplotlib 绘图常用方法总结
qq_52964132的博客
01-09 4743
matplotlib绘图迅速上手,绘图基本构架掌握
pythonmatplotlib绘图基本操作&美化教程
江风引雨的博客
09-04 4159
这次来整理一波pythonmatplotlib绘图的常用函数,以及如何修改默认死亡配色。 前期准备 导入包 import numpy as np import pandas as pd import matplotlib.pyplot as plt 基本设置 plt.figure() # 创建画布 plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置字体,不然中文无法显示 plt.rcParams['figure.figsize'] = (8.0, 4.0
Python使用matplotlib实现交换式图形显示功能示例
09-18
Python编程中,matplotlib是一个非常重要的可视化库,它提供了丰富的图形绘制功能,使得开发者能够创建出高...如果你在Python中进行数据可视化工作,掌握matplotlib的这些高级功能将大大提升你的工作效率和图形质量。
Python使用matplotlib绘制三维图形示例
09-20
主要介绍了Python使用matplotlib绘制三维图形,结合实例形式分析了Python基于matplotlib库绘制三维图形的相关操作技巧与注意事项,需要的朋友可以参考下
c ++使用matplotlib
07-20
使用Matplotlib在C++中进行绘图的好处是可以生成高质量的图形,并且可以与PythonMatplotlib库进行交互式环境生成图形。此外,使用Matplotlib在C++中进行绘图也可以与其他库进行集成,例如Qt,可以生成交互式的图形...
Python使用matplotlib实现绘制自定义图形功能示例
09-20
本示例将详细解析如何使用matplotlib来实现自定义图形的绘制,包括贝塞尔曲线、多边形和其他复杂形状。 首先,我们需要导入必要的模块。在这个例子中,我们使用`matplotlib.path`中的`Path`类来定义图形路径,`...
Python使用Matplotlib绘制多种图形
03-18
介绍了如何用Python中的Matplotlib库绘制多种多样的图形。适合学习Python两年的人。
Matplotlib 可视化之图形美化
weixin_48660856的博客
03-20 256
import pandas as pd import matplotlib.pyplot as plt students = pd.read_excel('D:/Code/.vscode/Students.xlsx') students.sort_values(by = '2017',inplace = True, ascending=False) print(students) students.plot.bar(x='From',y=['2016','2017'],color=['orange','
设置matplotlib的画图样式
欧阳罢笔的博客
03-01 1083
1.绘图颜色设置 matplotlib绘图颜色可以自己设置也可以使用内置的样式,以下分别介绍了设置颜色的用法和设置内置样式的方法。 设置各种颜色的用法: plt.figure(facecolor='mediumslateblue',edgecolor='black') 或plt.gcf().set_facecolor('green') 注:fugure中的facecolor 是背景色(边框...
matplotlib命令与格式:tick坐标轴主副刻度设置
热门推荐
开码河粉
12-06 5万+
1.刻度定位器与格式(Tick Locator) Tick locating 与 Tick formatting 可参考官方文档:http://matplotlib.org/api/ticker_api.html 2.获取坐标轴刻度对象 Matplotlib 中的 ticker 模块用于支持坐标轴刻度的修改,调用下列命令可以初步查看主副坐标轴刻度的数值定位方式(locator)与具体格式(f
matplotlib(五)排版布局
jeffery0207的博客
08-04 1万+
网格布局方式 subplots() 最常见的网格排版方式,一次性定好所有Axes GridSpec 复杂网格排列 SubplotSpec 为给定GridSpec中子图指定位置 subplot2grid() 类似于subplot(),但使用基于0的索引并允许子图占据多个单元格。 subplots import matplotlib.pyplot as plt impor...
matplotlib-绘制精美的图表
jenny_lg的专栏
08-04 327
參考鏈接 :chttp://old.sebug.net/paper/books/scipydoc/matplotlib_intro.html
照猫画虎,分分钟学会的Matplotlib技巧:反转轴、绘制双轴和定制刻度
Python作业辅导员 - 天元浪子
04-09 9221
作为Python生态中应用最广泛的绘图库,Matplotlib用起来非常简单,也很容易上手。不过有些细节想要做得尽善尽美,就需要仔细阅读它的文档了。对于初学者来说,反转坐标轴、绘制双轴(将两个动态范围不同的数据绘制在一张图上,分别使用两个不同的坐标轴)有一定难度,改变坐标轴刻度的样式或内容,更是无从下手。
Python matplotlib的绘图风格效果展示大全
ccongg的博客
09-28 1万+
Python matplotlib的绘图风格展示大全 目前正在学习Python的数据可视化,接触到了matplotlib.pyplot,这里可以看个人爱好设置各种展示效果,也有21种不同的系统绘图风格,鉴于在网上无法找到各个风格的实际效果,且一个一个试验过于麻烦,故把所有绘图风格效果保存下来,方便选择 这是基于matplotlib包1.5.3版本进行作图的展示结果 基础代码 改变默认绘图风格...
Python数据处理笔记——matplotlib篇(一)
LiErhua
09-11 1万+
关键词:坐标轴范围,图像保存,坐标轴密度,axes自适应figure,matplotlib面向对象,部分理论概念简单的小例子import matplotlib.pyplot as plt path = "" plt.plot([4,7,1,9,4]) #绘图,如果只有一个list默认其为Y轴,X轴数据为其索引值 plt.ylabel("grade") plt.axis([-2,8,0,12
使用 matplotlib 库绘制桃心图形
08-17
### 回答1: 可以使用 `matplotlib` 库中的 `plot` 函数绘制桃心图形。首先需要导入 `matplotlib.pyplot` 模块,然后可以使用 `numpy` 库中的 `linspace` 函数生成一组横坐标和纵坐标,再使用 `plot` 函数绘制出桃心图形。 代码如下: ```python import numpy as np import matplotlib.pyplot as plt t = np.linspace(0, 2*np.pi, 1000) x = 16*np.sin(t)**3 y = 13*np.cos(t) - 5*np.cos(2*t) - 2*np.cos(3*t) - np.cos(4*t) plt.plot(x, y) plt.show() ``` 这样就可以在屏幕上显示一个桃心图形了。 可以通过调整上面参数,来改变图形大小颜色,坐标轴,线条粗细等等 ```python plt.plot(x, y, color = "blue", linewidth = 1.0, linestyle = "-") plt.title("Matplotlib Heart") plt.xlabel("X-axis") plt.ylabel("Y-axis") plt.grid() plt.show() ``` ### 回答2: 要使用matplotlib库绘制桃心图形,我们可以使用numpy库来生成坐标数据,并利用matplotlib的plot函数来绘制曲线。以下是实现该功能的代码: ```python import numpy as np import matplotlib.pyplot as plt # 生成横坐标数据 t = np.linspace(0, 2 * np.pi, 1000) # 根据参数方程生成纵坐标数据 x = 16 * np.sin(t) ** 3 y = 13 * np.cos(t) - 5 * np.cos(2 * t) - 2 * np.cos(3 * t) - np.cos(4 * t) # 绘制桃心图形 plt.plot(x, y, color='red') plt.axis('equal') # 设置坐标轴比例为相等,使图形不会被拉伸变形 plt.title('桃心图形') plt.xlabel('x') plt.ylabel('y') # 显示图形 plt.show() ``` 以上代码中,利用参数方程来生成坐标数据,在x和y轴分别生成对应点的坐标。然后,通过plot函数绘制出坐标点,并设置线条颜色为红色。接着,使用axis函数设置坐标轴比例为相等,保证图形不会被拉伸变形。最后,使用title函数设置图形的标题、xlabel函数设置x轴的标签、ylabel函数设置y轴的标签,并使用show函数显示图形。运行该代码,就可以在窗口中看到绘制的桃心图形。 ### 回答3: 要使用 matplotlib 库绘制桃心图形,首先需要导入 matplotlib 库和 numpy 库。 ```python import matplotlib.pyplot as plt import numpy as np ``` 接下来,我们可以创建一个 2D 的数组,其中表示了一个椭圆形状的图形。我们可以使用 numpy 的 linspace 函数来生成一组 x 坐标的值,然后利用椭圆的公式来计算对应的 y 坐标的值。 ```python t = np.linspace(0, 2*np.pi, 1000) x = 16*np.sin(t)**3 y = 13*np.cos(t) - 5*np.cos(2*t) - 2*np.cos(3*t) - np.cos(4*t) ``` 然后,我们可以使用 matplotlib 的 plot 函数绘制这个图形,并设置线条的颜色和宽度。 ```python plt.plot(x, y, color='red', linewidth=2) ``` 最后,我们可以通过设置坐标轴的范围和标题等来美化图形。 ```python plt.axis('off') plt.title('Heart Shape') ``` 最后,使用 `plt.show()` 函数来显示绘制好的桃心图形。 ```python plt.show() ``` 完整的代码如下: ```python import matplotlib.pyplot as plt import numpy as np t = np.linspace(0, 2*np.pi, 1000) x = 16*np.sin(t)**3 y = 13*np.cos(t) - 5*np.cos(2*t) - 2*np.cos(3*t) - np.cos(4*t) plt.plot(x, y, color='red', linewidth=2) plt.axis('off') plt.title('Heart Shape') plt.show() ``` 以上就是使用 matplotlib 库绘制桃心图形的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • IT冷知识(持续更新中) 5030
  • Python图像处理 3818
  • python Matplotlib 绘制基础图形 3729
  • Python Web开发 Django之上传与下载文件 2583
  • 使用Matplotlib美化和修饰图形 2514

分类专栏

  • 每日一练

最新评论

  • Python Web开发 Django之上传与下载文件

    MMMming131231: 为什么选择完上传文件,点击提交文件按钮后会显示404not found呀?

  • Python Django Web开发之Jinja2模板引擎

    XGZZN: 配置完jinja2之后,debug运行dev.py文件就提示“已连接到 pydev 调试器(内部版本号 222.4459.20)”没有弹出127.0.0.1这个网址,是什么原因呢?

  • IT冷知识(持续更新中)

    Yeats_Liao: 不那么正经的图片工厂(二) 世界上第一枚微处理器 Intel 4004 在 1971 年正式推出,英特尔反复重启这项芯片的生产计划,以至于它其实一共拥有四个设计者。 以下四个人名中,哪一个不是 Intel 4004 的设计者? Chester Carlson

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 使用Python实现队列
  • Python Django Web开发之表单
  • Python Django Web开发之Jinja2模板引擎
2022年8篇
2021年2篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

要不要长胖_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

深圳SEO优化公司福田百度关键词包年推广龙岗企业网站制作大鹏百度标王石岩seo排名南澳推广网站吉祥网站开发横岗网页设计爱联企业网站改版惠州网站优化按天收费荷坳百度爱采购福田建设网站同乐网站设计模板大浪seo排名东莞网站排名优化双龙外贸网站设计坑梓网页制作双龙外贸网站建设横岗网站开发横岗网站搜索优化同乐百度网站优化坂田模板制作坂田外贸网站设计石岩百度seo大芬网站搭建吉祥百搜标王木棉湾百度网站优化吉祥SEO按天计费罗湖优化大运网站建设设计坪山网络推广歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化