使用matplotlib绘制彼此相邻的两个散点图

时间:2018-03-01 14:10:02

标签: python python-3.x matplotlib plot scatter-plot

我目前有三个单独的散点图显示相同的x和y轴(第三个维度是颜色编码)但它们都相互跟随,一个图形低于另一个。这是我使用的代码(在这种情况下,我有3个散点图:

fig, ax = plt.subplots(figsize=(10,10))
plt.xlim(0,2000000)
plt.ylim(0,250000)
ax.scatter(Sales_Force.Revenues[hello], Sales_Force.Amount[hello], 
alpha=0.05, color='g')
ax.set_title("Revenue vs Amount for Booked")
ax.set_xlabel("Revenue", size = 10)
ax.set_ylabel("Amount", size = 10)
plt.xticks(fontsize=10)
plt.show()

之后,我有两个几乎相同代码的其他版本用另外两个单词代替“hello”,因此创建了3个独立的散点图。我的问题是,如何(并且最好尽可能简单地修改,如果可能的话)我可以改变我的代码以保持完全相同的图,但它们并排放在彼此旁边而不是在另一个之下?< / p>

我也尝试根据我在stackoverflow上看到的另一个答案来做这个。我试过这个:

fig, axes = plt.subplots(1,2)

plt.xlim(0,2000000)
plt.ylim(0,250000)
ax1.scatter(Sales_Force_Before_Merger.Revenues[hello], 
Sales_Force_Before_Merger.Amount[hello], alpha=0.05, color='g')
ax1.set_title("Revenue vs Amount for Booked Before Merger")
ax1.set_xlabel("Revenue", size = 10)
ax1.set_ylabel("Amount", size = 10)
ax1.plt.xticks(fontsize=10)
ax1.plt.show(ax=axes[0])

plt.xlim(0,2000000)
plt.ylim(0,250000)
ax2.scatter(Sales_Force_Before_Merger.Revenues[goodbye], 
Sales_Force_Before_Merger.Amount[goodbye], alpha=0.05, color='r')
ax2.set_title("Revenue vs Amount for Booked Before Merger")
ax2.set_xlabel("Revenue", size = 10)
ax2.set_ylabel("Amount", size = 10)
ax2.plt.xticks(fontsize=10)
ax2.plt.show(ax=axes[1])

执行此操作后,我收到一条错误消息:

AttributeError: 'AxesSubplot' object has no attribute 'plt'

并且有两个图表显示其中没有任何内容(一些小的修改可能填充了2个图中的一个)另外,两个非填充的散点图也有不同的x和y值刻度显示,即使它们应该显示相同的数据。

0 个答案:

没有答案