一、问题描述
具体问题是:
- 用python库matplotlib进行数据的图表展示;
- 图表展示图形横坐标有将近100个自定义值需要显示;
- 保存矢量图(svg),保存后发现横坐标过于密集,坐标值之间有覆盖问题;
- 如果用jpg图片发现没有这个问题。
二、解决办法
解决思路是:
- 让图片宽度增加,然后让横轴坐标均匀分布,则字符之间距离会增大。
解决办法:
- svg默认宽度是6.8英寸,默认高度4英寸。可以增加到8英寸宽度或者更宽
- 参数:设置距离set_figwidth(val, forward=True)将val改成8即可
实例参考:
1 import pandas as pd 2 import matplotlib.pyplot as plt 3 data = pd.read_csv('statistic_char.csv',index_col=0) 4 fig, ax = plt.subplots() 5 plt.plot(list(data.index),data) 6 plt.yticks(range(0,35000000,2000000)) 7 fig.set_figwidth(15) 8 fig.tight_layout() 9 fig.ax 10 plt.show() 11 fig.savefig('scatter.svg',dpi=1200,format='svg') 12
三、相关参考
- 设置显示图形的宽度: