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()
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200811012157219.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MjMyMzE3,size_16,color_FFFFFF,t_70)
处理后
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()
这样就可以均匀的分布了,完美!
|