[英]Matplotlib: Plotting two graphs within a specified x-axis range
基本上,我要根據繪制的第一個圖來鎖定圖的起點。
例如,如果我做這樣的事情。
import matplotlib.pyplot as plt
plt.plot([7,8,9,10], [1,4,9,16], 'yo')
plt.plot([1,9,11,12], [1,4,9,16], 'ro')
plt.show()
我想要一種將x軸限制為從7開始的方法,因此將刪除第二個繪圖中的(1,1)。
有沒有辦法做到這一點? 我自己可以跟蹤它,但是只是好奇是否有內置的東西可以處理這個問題。
謝謝。
Matplotlib為您提供兩種方法:
import matplotlib.pyplot as plt
plt.plot([7,8,9,10], [1,4,9,16], 'yo')
plt.plot([1,9,11,12], [1,4,9,16], 'ro')
plt.xlim(xmin=7)
plt.show()
或更面向對象的方式
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([7,8,9,10], [1,4,9,16], 'yo')
ax.plot([1,9,11,12], [1,4,9,16], 'ro')
ax.set_xlim(xmin=7)
plt.show()
如果您不使用IPython,則強烈建議您使用IPython,因為您可以創建axes對象,然后鍵入ax.<Tab>
並查看所有選項。 在這種情況下,自動完成功能可能是一件很棒的事情。
簡而言之:plt.xlim()。
總而言之:
import matplotlib.pyplot as plt
x1, y1 = ([7,8,9,10], [1,4,9,16])
plt.plot(x1, y1, 'yo')
plt.xlim(min(x1), max(x1))
plt.plot([1,9,11,12], [1,4,9,16], 'ro')
plt.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.