matplotlib散点图常见问题及解决方案

自定义横纵坐标科学计数法格式
坐标刻度如果太大或者太小, 默认就会显示科学计数法, 但是科学计数法却不是自己想要的格式, 通过以下方式即可自定义
复现代码如下
1 | # -*- coding: utf-8 -*- |
效果图

使用下面方法可以自定义刻度显示的格式
解决代码如下
1 | import matplotlib.pyplot as pltfrom matplotlib.ticker import FuncFormatterdef formatnum(x, pos): return "{:.1e}".format(x)formatter = FuncFormatter(formatnum)def main(): x = range(1000000, 9000000, 100000) y = range(10000000, 90000000, 1000000) plt.scatter(x, y) plt.gca().yaxis.set_major_formatter(formatter) plt.gca().xaxis.set_major_formatter(formatter) plt.show() |
效果图

显示中文(添加自定义字体)
1 | def main(): |
效果图

添加字体对象, 将字体对象添加到需要显示中文的地方
1 | from matplotlib.font_manager import FontProperties |
可以为x和y轴设置不同的字体, 当然也有其它方式,比如: 设置全局字体, 将字体放入安装包内等
效果图


其它问题
最后直接放完整代码了, 功能和解决方案都在注释里了
1 | # -*- coding: utf-8 -*- |
到这里就可以解决大部分问题了, 其它问题一搜就知道怎么解决了
最终效果图


点个在看你最好看

作者:
胖胖不胖
版权声明:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 不止于python
感谢您的支持,我会继续努力!
微信支付
支付宝