упорядочение значений на графике - PullRequest
0 голосов
/ 18 апреля 2020
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import matplotlib
import numpy as np

x = np.array([11, 10,  9,  8,  7,  6,  5,  4,  3,  2,  1,  0, 23, 22, 21, 20, 19,
       18, 17, 16, 15, 14, 13, 12, 11, 10,  9,  8,  7,  6,  5,  4,  3,  2,
        1,  0, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11])
y = np.array([10.2498027 ,  3.40840691,  5.66800592,  4.73357213,  4.59928829,
        7.77601006,  4.50292533,  6.74142384,  6.22113539,  5.17988422,
       13.94684576, 34.99082087,  4.118949  , 11.0982419 , 10.29815611,
       12.03389492,  6.31187701, 12.239558  ,  5.87426932,  6.74172626,
       16.47461827, 30.35541063, 10.92259073, 12.42456934,  6.01591812,
       21.19466472,  9.50413895,  9.72148474,  6.47713988, 10.12320722,
       11.30812869,  9.73464322, 10.83663898, 12.23193273, 18.69932898,
       24.39563051, 23.28559267, 10.93052254, 16.18618557, 18.4649589 ,
        9.54576214,  6.5244594 , 12.64954169,  6.91277364, 13.63560742,
       17.22098351, 22.81889451, 26.23538384,  8.08662976])

font = {'family' : 'normal',
        'weight' : 'bold',
        'size'   : 22}

matplotlib.rc('font', **font)
tick_spacing = 1

fig, ax = plt.subplots(1,1)

ax.set_axisbelow(True)
ax.yaxis.grid(color='gray', linestyle='dashed')

ax.scatter(x,y,s=140)

ax.xaxis.set_major_locator(ticker.MultipleLocator(1))
ax.yaxis.set_major_locator(ticker.MultipleLocator(1))

рендеринга:

enter image description here

Порядок значений по оси x является неожиданным, так как массив осей x начинается с 11, 10, 9, 8 значения воспроизведения по оси x начинаются с -1,0,1,2,3.

Как указать matplotlib следовать порядку значений массива x, y при рендеринге?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...