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

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()

在这里插入图片描述

处理后

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()

在这里插入图片描述
这样就可以均匀的分布了,完美!


版权声明:本文为qq_39232317原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。