python画图,等间距坐标距离表示不等间距数据值

https://blog.csdn.net/qq_39232317/article/details/107925982

python画图,等间距坐标距离表示不等间距数据值
在做图常遇到数据差距较大,按实际距离作图时,效果不好,不能均匀的分布在图上,希望用等间距坐标距离表示不等间距数据值,采用将想要的真实坐标值换成坐标文字标签的笨方法。
例如:画出
x=[1,10,100,1000,10000,100000]
y=[0.1,0.15,0.2,0.3,0.35,0.5]
直接画图时,点不能均匀的分布在图中,效果不好

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

plt.rcParams['font.sans-serif']=['SimHei'] # 处理中文无法正常显示的问题
plt.rcParams['axes.unicode_minus'] = False #负号显示


plt.xlabel("这是x轴") # 设置x轴名称
plt.ylabel("这是y轴") # 设置y轴名称
plt.title("这是标题") # 设置标题

x=[1,10,100,1000,10000,100000]
y=[0.1,0.15,0.2,0.3,0.35,0.5]
plt.plot(x,y,marker='d')

plt.show()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18


处理后

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

plt.rcParams['font.sans-serif']=['SimHei'] # 处理中文无法正常显示的问题 成功
plt.rcParams['axes.unicode_minus'] = False #负号显示


plt.xlabel("这是x轴") # 设置x轴名称
plt.ylabel("这是y轴") # 设置y轴名称
plt.title("这是标题") # 设置标题


x=[1,2,3,4,5,6] #虚假的x值,用来等间距分割
x_index=['1','10','100','1000','10000','100000'] # x 轴显示的刻度
y=[0.1,0.15,0.2,0.3,0.35,0.5] #y值
plt.plot(x,y,marker='d')
_ = plt.xticks(x,x_index) # 显示坐标字

plt.show()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

这样就可以均匀的分布了,完美!
————————————————
版权声明:本文为CSDN博主「小文文啊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39232317/article/details/107925982

上一篇:Matplotlib数据可视化(三)


下一篇:matplotlib中文显示问题