在对数图上显示更多的刻度标签

时间:2018-12-02 21:53:20

标签: python matplotlib

假设我有一个如下所示的对数图 enter image description here

我正在尝试在y和x轴的刻度上显示更多数字。刻度线应如下图所示,显示每个对数的更多指数。 enter image description here

我尝试使用tick_params,但不适用于我的代码:

plt.figure(figsize=(20,10))
plt.scatter(y_hat_rdg, y_test, s=30, c='r', marker='+', zorder=10, label=None)
plt.xlabel("Predicted Prices ($)", size=20)
plt.ylabel("Actual Prices ($)", size=20)
plt.title("Actual Prices vs. Predicted Prices", size=25)
plt.xscale('log')
plt.yscale('log')
plt.xticks(fontsize=25)
plt.yticks(fontsize=25)
plt.tick_params( which='both') 
plt.plot([np.min(y_hat), np.max(y_hat)], [np.min(y_hat), np.max(y_hat)], label='RidgeCV Prediction Model')
plt.legend(loc=2, prop={'size': 20})
plt.show()

1 个答案:

答案 0 :(得分:1)

使用log10中的linspace的一种方式:

plt.figure(figsize=(10,5))
plt.plot(np.arange(10000, 500000), np.arange(10000, 500000))
plt.yscale('log')
plt.xscale('log')
plt.xticks(np.linspace(10000, 500000, 10), np.round(np.log10(np.linspace(10000, 500000, 10)),2))
plt.yticks(np.linspace(10000, 500000, 10), np.round(np.log10(np.linspace(10000, 500000, 10)),2))
plt.tight_layout()

Example