Когда у меня есть числовые данные, скажем, индекс по какому-то времени, легко построить график пробелов в данных. Например, если у меня есть значения в моменты времени 1, 2, 3, 5, 6, 7, я могу установить np.nan в момент 4, чтобы разбить график.
< pre class="lang-py Prettyprint-override">
import numpy as np
import matplotlib.pyplot as plt
x = [1, 2, 3, 5, 6, 7]
y = ["cat", "cat", "dog", "dog", "cat", "cat"]
plt.plot(x, y)
plt.show()
plt.close()
Это расположит категории по оси Y, как я и хочу. Однако, когда я использую трюк с np.nan, чтобы получить разрыв, я получаю точку, нанесенную на np.nan.
Когда у меня есть числовые данные, скажем, индекс по какому-то времени, легко построить график пробелов в данных. Например, если у меня есть значения в моменты времени 1, 2, 3, 5, 6, 7, я могу установить np.nan в момент 4, чтобы разбить график. < pre class="lang-py Prettyprint-override">[code]import numpy as np import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5, 6, 7] y = [10, 20, 30, np.nan, 10, 20, 30] plt.plot(x, y) plt.show() plt.close() [/code] [img]https://i.sstatic.net/CbqV1Qyr.png[/img]
Это определенно лучше альтернативы простому пропуску времени 4! [code]import numpy as np import matplotlib.pyplot as plt x = [1, 2, 3, 5, 6, 7] y = [10, 20, 30, 10, 20, 30] plt.plot(x, y) plt.show() plt.close() [/code] [img]https://i.sstatic.net/xVApqrwi.png[/img] Однако теперь у меня есть категориальная переменная y. В основном построение графика простое: просто используйте категории в качестве y. [code]import numpy as np import matplotlib.pyplot as plt x = [1, 2, 3, 5, 6, 7] y = ["cat", "cat", "dog", "dog", "cat", "cat"] plt.plot(x, y) plt.show() plt.close() [/code] [img]https://i.sstatic.net/ykEZrAd0.png[/img] Это расположит категории по оси Y, как я и хочу. Однако, когда я использую трюк с np.nan, чтобы получить разрыв, я получаю точку, нанесенную на np.nan. [code]import numpy as np import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5, 6, 7] y = ["cat", "cat", "dog", np.nan, "dog", "cat", "cat"] plt.plot(x, y) plt.show() plt.close() [/code] [img]https://i.sstatic.net/MBcQsKjp.png[/img] Как мне заставить графики переходить в режим «кошка» «кошка» «собака» на 1, 2, 3, а затем «собака» «кошка» «кот» на 5, 6, 7, оставляя пробел на 4?
Когда у меня есть числовые данные, скажем, индекс по какому-то времени, легко построить график пробелов в данных. Например, если у меня есть значения в моменты времени 1, 2, 3, 5, 6, 7, я могу установить np.nan в момент 4, чтобы разбить график....
Когда у меня есть числовые данные, скажем, индекс по какому-то времени, легко построить график пробелов в данных. Например, если у меня есть значения в моменты времени 1, 2, 3, 5, 6, 7, я могу установить np.nan в момент 4, чтобы разбить график....
Я пытаюсь создать гистограмму ошибок с помощью Matplotlib, где мне нужно обеспечить определенный порядок категориальных переменных на оси Y. Несмотря на установку порядка категорий и сортировку DataFrame, график не отражает желаемый порядок.
Вот...