Python Matplotlib图形展开x轴

Python Matplotlib图形展开x轴,python,matplotlib,Python,Matplotlib,我有以下几点 1) 如何删除2^12之后显示的最后一个间隙? 2) 如何在x轴上传播更多的值,使前两个值不重叠 1) 如何删除2^12之后显示的最后一个间隙 明确设置限制,例如: plt.xlim(2**5.8, 2**12.2) 2) 如何在x轴上传播更多的值,使前两个值不重叠 你好像想要一个对数图。使用pyplot.semilog() 请注意,在这种情况下,您甚至不必手动设置2^*勾号,它们将以这种方式自动创建 1.使用自动缩放,指定轴,或者您也可以对两个轴使用plt.axis('tigh

我有以下几点

1) 如何删除2^12之后显示的最后一个间隙? 2) 如何在x轴上传播更多的值,使前两个值不重叠

1) 如何删除2^12之后显示的最后一个间隙

明确设置限制,例如:

plt.xlim(2**5.8, 2**12.2)
2) 如何在x轴上传播更多的值,使前两个值不重叠

你好像想要一个对数图。使用
pyplot.semilog()

请注意,在这种情况下,您甚至不必手动设置
2^*
勾号,它们将以这种方式自动创建


1.使用
自动缩放
,指定轴,或者您也可以对两个轴使用
plt.axis('tight')
。2.使用对数标度x轴。代码如下:

import matplotlib.pyplot as plt

fig = plt.figure()

x_values = [2**6,2**7,2**8,2**9,2**10,2**12]
y_values_ST = [7.3,15,29,58,117,468]
y_values_S3 = [2.3,4.6,9.1,19,39,156]
xticks=['2^6','2^7','2^8','2^9','2^10','2^12']

ax = plt.gca()
ax.set_xscale('log')
plt.plot(x_values, y_values_ST,'-gv')
plt.plot(x_values, y_values_S3,'-r+')
plt.legend(['ST','S^3'], loc='upper left')
plt.xticks(x_values,xticks)

fig.suptitle('Encrypted Query Size Overhead')
plt.xlabel('Query size')
plt.ylabel('Size in KB')

plt.autoscale(enable=True, axis='x', tight=True)#plt.axis('tight')
plt.grid()
fig.savefig('token_size_plot.pdf')
plt.show()
plt.xscale('log', basex=2)
import matplotlib.pyplot as plt

fig = plt.figure()

x_values = [2**6,2**7,2**8,2**9,2**10,2**12]
y_values_ST = [7.3,15,29,58,117,468]
y_values_S3 = [2.3,4.6,9.1,19,39,156]
xticks=['2^6','2^7','2^8','2^9','2^10','2^12']

ax = plt.gca()
ax.set_xscale('log')
plt.plot(x_values, y_values_ST,'-gv')
plt.plot(x_values, y_values_S3,'-r+')
plt.legend(['ST','S^3'], loc='upper left')
plt.xticks(x_values,xticks)

fig.suptitle('Encrypted Query Size Overhead')
plt.xlabel('Query size')
plt.ylabel('Size in KB')

plt.autoscale(enable=True, axis='x', tight=True)#plt.axis('tight')
plt.grid()
fig.savefig('token_size_plot.pdf')
plt.show()