Saya dapat membuat plot ini:

import matplotlib.pyplot as plt

x = range(1, 16)
zero = [0] * 15
pointfive = [0.5] * 15

fig = plt.figure()

ax1 = fig.add_subplot(111)
ax1.plot(x, days, 'moccasin')
ax1.set_ylabel('days', color='moccasin')

ax2 = ax1.twinx()
ax2.plot(x, probs, "turquoise")
ax2.set_ylabel('probabilities', color="turquoise")

ax3 = fig.add_subplot(111)
ax3.plot(x, zero , "--", color="moccasin")

ax4 = fig.add_subplot(111)
ax4.plot(x, pointfive , "--", color="turquoise")

fig.text(0.5, 0.04, 'days to lat, ha='center')

enter image description here

Ini untuk hal-hal yang saya inginkan perubahan:

  • Garis putus-putus torsi harus ditarik sesuai dengan skala sumbu y di sebelah kanan
  • Label x umum dan judul harus ditambahkan

Ini menggambarkan perubahan yang saya inginkan:

enter image description here

Bagaimana aku melakukan itu? Terima kasih!

2
Julian 6 Agustus 2019, 15:45

1 menjawab

Jawaban Terbaik

Anda telah menentukan sumbu ax1 (kiri) dan ax2 (kanan). Cukup gunakan ini untuk memilih sumbu yang ingin Anda plot:

x = range(1, 16)
y1 = 10*np.random.random(size=len(x))
y2 = np.random.random(size=len(x))
zero = [0] * 15
pointfive = [0.5] * 15

fig = plt.figure()

ax1 = fig.add_subplot(111)
ax1.plot(x, y1, 'moccasin')
ax1.set_ylabel('days', color='moccasin')

ax2 = ax1.twinx()
ax2.plot(x, y2, "turquoise")
ax2.set_ylabel('probabilities', color="turquoise")


ax1.plot(x, zero , "--", color="moccasin")
ax2.plot(x, pointfive , "--", color="turquoise")

ax1.set_xlabel('days to lat')

ax1.set_title('TITLE')
3
jvarela 6 Agustus 2019, 14:09