【发布时间】:2014-12-24 23:08:00
【问题描述】:
我正在尝试更改子图中的刻度:结果如下图所示。
我使用以下代码:
plt.subplot(2,2,1)
plt.scatter(d,d1,c=chi,s=25,edgecolor='')
plt.xticks(tic,lab)
plt.vlines(dm,min(d1),max(d1),color='b')
plt.vlines(dma,min(d1),max(d1),color='b')
plt.hlines(d1ma,min(d),max(d),color='b')
plt.hlines(d1ma,min(d),max(d),color='b')
plt.xlabel("$\delta$")
plt.ylabel('$\delta_1$')
plt.colorbar()
plt.subplot(2,2,3)
plt.scatter(d,L,c=chi,s=25,edgecolor='')
plt.xticks(tic,lab)
plt.vlines(dm,min(L),max(L),color='b')
plt.vlines(dma,min(L),max(L),color='b')
plt.hlines(Lm,min(d),max(d),color='b')
plt.hlines(Lma,min(d),max(d),color='b')
plt.xlabel("$\delta^\prime$")
plt.ylabel('L')
plt.colorbar()
plt.subplot(2,2,4)
plt.scatter(d1,L,c=chi,s=25,edgecolor='')
plt.vlines(d1m,min(L),max(L),color='b')
plt.vlines(d1ma,min(L),max(L),color='b')
plt.hlines(Lm,min(d1),max(d1),color='b')
plt.hlines(Lma,min(d1),max(d1),color='b')
plt.xlabel("$\delta_1$")
plt.ylabel('L')
plt.colorbar()
plt.savefig('cnf_lin.png')
plt.show()
要更改 xaxis 中的刻度,我使用 xticks(tik,lab) 其中 tick 和 lab 是包含我的新刻度和标签的列表,但是 python(如果重要的话是 2.7)会将我的标签覆盖为旧标签。
我做错了什么?
【问题讨论】:
-
你能提供你的代码的最小工作示例吗?
-
@Ffisegydd 这可能是个问题:列表
d,L,d1是从一个长文件中读取的,dm,LM,d1m是平均值,dma,Lma,d1ma是最佳拟合值。chi是卡方 -
在这种情况下,您能否仅编造一些仍然复制问题的值?为简单起见,您还可以将其减少到一个子图吗? (这是最小工作示例的 minimum 部分:))
标签: python-2.7 matplotlib axes subplot