Построение значений с помощью matplotlib и найти минимум, посмотрев на график - PullRequest
1 голос
/ 04 ноября 2019

У меня есть словарь как:

    ```{'0.0': 2.445616223564293,
       '0.05': 2.445594095119315,
       '0.1': 2.4455740588234223,
       '0.15': 2.4455560866270947,
       '0.2': 2.4455401509059596,
       '0.25': 2.4455262244535803,
       '1.0': 2.4455411399961293,
       '1.05': 2.44555597697399,
        '1.1': 2.4455724183134344,
       '1.15': 2.4455904432448716,
       '1.2': 2.445610031303073,
        '1.25': 2.4456311623222002,
       '2.0': 2.4461204322901566,
       '3.0': 2.447205696789686,
       '4.0': 2.4486856713473726,
        '5.0': 2.4504762863004363,
        '10.0': 2.4623061878090624,
        '20.0': 2.4922549001247876}```

Здесь все значения отличаются по небольшому коэффициенту. Однако, когда я строю его, используя matplotlib, сюжет не является отличительным.

I want to plot "keys" in x-axis and "values" in y-axis and then find x which has minimum y value by looking the plot.

Я попробовал этот код:

       ```plt.plot(*zip(*data))```

Но сюжет не ясен. Как я могу решить эту проблему таким образом, чтобы на графике была четко видна разница в значениях.

1 Ответ

1 голос
/ 05 ноября 2019

Проблема в вашей интерпретации zip(*data). Я бы посоветовал, прежде чем готовить печать, сначала посмотреть, что вы пытаетесь построить.

print (list(zip(*data))) выведет список разделенных строк (ключи вашего data). Чтобы отобразить ключи на оси x и значения на оси y, просто выполните следующие действия. Я оставляю визуализацию минимума на ваше усмотрение. Если вы хотите построить разницу, вычтите первое значение из полного списка значений, а затем нанесите его на ось Y.

plt.plot(data.keys(), data.values(), '-bx')
plt.xticks(rotation=45)

enter image description here

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