文章目录

  • 1. python中文显示问题
  • 2. python设置Times New Roman字体
  • 3. 字符串显示上标
  • 4. subplot绘图主标题(plt.suptitle)被覆盖
  • 5. 保存图片设置分辨率,图片显示不全的问题
  • 6. subplot绘制多张图片时,出现压缩图片的情况
  • 7. x轴重叠的问题
  • 8. python画图时添加标签

在python编程过程中可能遇到中文显示,英文字体设置,字符串上标显示,图片保存问题等问题。

1. python中文显示问题

方法一:

# 解决中文显示问题
plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus'] = False

方法二:

# 设置中文显示
from pylab import *mpl.rcParams['font.sans-serif'] = ['SimHei']font_size =20mpl.rcParams['font.size'] = font_size

2. python设置Times New Roman字体

csfont = {'fontname': 'Times New Roman', 'weight': 'normal', 'size': 14}

加粗:

csfont = {'fontname': 'Times New Roman', 'weight': 'bold', 'size': 14}

3. 字符串显示上标

如显示R2指数的时候,直接在字符串上没法设置。

plt.ylabel('R2', **csfont)

设置如下就可以了:

plt.ylabel('R\u00b2', **csfont)

4. subplot绘图主标题(plt.suptitle)被覆盖

tight_layout会自动调整子图参数,使之填充整个图像区域。
解决办法:加一行代码

plt.tight_layout()

但是plt.tight_layout()只考虑子图的标签,轴标签和标题。因此,其他部分可能会被剪辑,也可能会重叠,如figure的suptitle。

解决方法:

plt.subplots_adjust(top=0.85) # top参数:调整子图集体所占版面的高度占整个figure的高度的比例

5. 保存图片设置分辨率,图片显示不全的问题

plt.savefig('test.tif', dpi=300, bbox_inches='tight')

dpi为设置的分辨率。

6. subplot绘制多张图片时,出现压缩图片的情况

可以先设置好画布的尺寸,如需要 4 * 3,12张图片摆放时,可以设置画布为(12,12)。

根据你的需要设置画布尺寸,

fig = plt.figure(figsize=(12, 12))

7. x轴重叠的问题

当x轴的标签比较长时,会出现重叠问题。

可以导入ticker库来解决这个问题,ticker可以改变数据轴的间距来解决日期显示不完整的问题。

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker# 根据ticker的功能改变第一个为初始的数据,第二个则为间隔
ticker_spacing = Date  # 日期的字符串数组
ticker_spacing = 4
# 创建画布
fig, ax = plt.subplots(1, 1)
plt.plot(Date, V1, 'r', label='a')
plt.plot(Date, V2, 'blue', label='b')
plt.plot(Date, V3, 'black', label='c')
plt.plot(Date, V4, 'yellow', label='d')# rotation=30 为倾斜的度数,因为日期较长,需要倾斜才能更清晰显示
ax.xaxis.set_major_locator(ticker.MultipleLocator(ticker_spacing))
plt.xticks(rotation=30)

8. python画图时添加标签

plt.text(x, y, s, fontsize, verticalalignment,horizontalalignment,rotation , **kwargs)
1. x,y表示标签添加的位置,默认是根据坐标轴的数据来度量的,是绝对值,也就是说图中点所在位置的对应的值,特别的,如果你要变换坐标系的话,要用到transform=ax.transAxes参数。
2. s表示标签的符号,字符串格式,比如你想加个“我爱三行科创”,更多的是你标注跟数据有关的主体,你如实写便是。
3. fontsize顾名思义就是你加标签字体大小了,取整数。
4. verticalalignment表示垂直对齐方式 ,可选 ‘center’ ,‘top’ , ‘bottom’,‘baseline’ 等
5. horizontalalignment表示水平对齐方式 ,可以填 ‘center’ , ‘right’ ,‘left’ 等
6. rotation表示标签的旋转角度,以逆时针计算,取整
7. 后面还有 family 用来设置字体,style 设置字体的风格,weight 字体的粗细, bbox 给字体添加框,如 bbox=dict(facecolor=‘red’, alpha=0.5) 等,各种风格,应有尽有,总有一款适合你。

plt.text()只能在坐标轴内根据数据添加标签,想要在图片右上角添加图’a’,'b’这种无法实现。

python处理问题汇总三(字体显示,显示上标,x轴重叠,添加标签,保存图片等)相关推荐

  1. 永久解决python matplotlib 中文字体的显示乱码-Windows系统

    在python中使用matplotlib绘图时,新手通常会遇到中文字体无法显示或显示乱码的问题,这是因为matplotlib中默认没有中文字体.windows系统下的永久解决方法如下: 1.确定当前p ...

  2. python 图标字体_懿古今主题部分图标字体不显示的解决办法

    近日有用户反馈说使用懿古今的 Nana 主题,或 zbpNana 主题时,部分图标字体不显示,比如 fa-scribd.fa-quora 等.经检测发现这些图标都是 Font Awesome 4.7. ...

  3. 数据透视表汇总行在顶部显示_在数据透视表中比较顶部和底部销售

    数据透视表汇总行在顶部显示 An Excel pivot table is a great way to summarize a large amount of data, and with its ...

  4. 同时基于c++与python版本的opencv进行读取,显示,修改,保存图片操作

    文章目录 同时基于c++与python版本的opencv进行读取,显示,修改,保存图片操作 一.基于c++的opencv 1.c++版本代码 2.代码结果展示 3.API构成及其参数说明 4.注意事项 ...

  5. python绘制折线图中文图例不显示_python使用matplotlib绘图时图例显示问题的解决...

    前言 matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包.在使用Python matplotlib库绘制数据图时,需要使用图例标注数据类别,但是传参时,会出现图 ...

  6. 【Android LibGDX游戏引擎开发教程】第07期:中文字体的显示和绘制(上)

    在字体的显示和绘制中,Libgdx的作者(Mario Zechner,美国人)给我们提供了一个非常好用的工具 --Hiero,那么下面就来看看它具体的使用方法. 一.Hiero工具的使用 1.Hier ...

  7. 关于Matplotlib作图时中文字体无法显示问题

    项目场景: 通过Matplotlib作图时,遇到图表标签.标题中文字体显示不出来的问题. 问题描述 在使用Matplotlib作图时,设定字体为SimHei,但运行提示没发现这个字体,返回用DejaV ...

  8. QT中文字体的显示方法

    QT中文字体的显示方法 一.QT显示中文失败的原因,如显示为方块或乱码 1)qte的库未编译进对中文textcodec的支持,解决方案:修改qconfig-qpe.h, 去掉CODEC有关的宏,重新c ...

  9. python画图程序没有图_解决python中使用plot画图,图不显示的问题

    解决python中使用plot画图,图不显示的问题 对以下数据画图结果图不显示,修改过程如下 df3 = {'chinese':109, 'American':88, 'German': 66, 'K ...

最新文章

  1. 35 岁前程序员要规划好的四件事(转载)
  2. 再见,xShell,自己用Java撸一个Web版的,网友直呼:666
  3. python 3读网页文件及保存成本地文件,遇到的编码问题
  4. 同类分析比较工具 google trend
  5. php函数的初步使用
  6. 与代码无关的网络安全
  7. 康奈尔大学做笔记的方法——文献
  8. 聚类分析q型matlab,Q型聚类分析
  9. C++定义一个对象和new一个对象的区别与联系
  10. 第十二课,assimp模型加载(数据加载篇)
  11. Jupyter内的文件保存
  12. 解决谷歌浏览器的 DNS_PROBE_FINISHED_NXDOMAIN
  13. windows中安装绿色版的mysql
  14. 魔兽世界网站服务器搭建,网游服务器搭建方案图解(以魔兽世界为例)(示例代码)...
  15. python从属关系编号_笨办法学Python 习题 42: 对象、类、以及从属关系
  16. 代码精进之路-读后感
  17. 突然想到--破窗理论与温水青蛙
  18. 4-1 Verilog 4位移位寄存器的设计与实现
  19. 550, b‘Requested action not taken: GTAi0gDXE+ZLSiRiE7TVAA--.6460S2, mail reject by CAC‘
  20. UbuntuServer搭建MQTT服务器

热门文章

  1. 韩国的计算机sci,JOURNAL OF KOREAN MEDICAL SCIENCE《韩国医学科学杂志》SCI论文投稿_SCI期刊大全_SCI期刊点评_万维书刊网...
  2. 老码农眼中的大模型(LLM)
  3. ffmpeg开源工具的使用_使用开源工具玩龙与地下城
  4. C# 获取适配器网络连接IP地址,子网掩码,DNS,数据包等信息
  5. MySQL面试题——聚簇索引和非聚簇索引
  6. Tensorflow中的多层感知器学习
  7. Hibernate的下载和安装
  8. 小程序中的axio——flyio的使用
  9. 跨库查询——mysql
  10. 《GC篇》七、GC 调优(实战篇)