Найти в Дзене
SergSergius

Как построить график из csv файла на python?

Существует ряд инструкций в интернете, с помощью которых можно построить график данных из некоего csv файла. Но во всех тех, что мне попадались есть существенный недостаток для меня, как для новичка в сфере программирования. Поэтому я решил написать свою небольшую инструкцию с выделением и комментированием тех проблем, с которыми заинтересованный, но далекий от программирования человек столкнется при написании своего кода. Итак, у нас есть некий csv файл, с данными о гранулометрических характеристиках массива горных пород. Данные из него в табличном виде представлены в оригинальной статье. В коде эти данные присутствуют в виде url: https://sergsergius.ru/wp-content/uploads/asgarosforum/50/11.csv По умолчанию питон работает с кодировкой UTF-8 и не может считывать цифры с разделителем “,”. Поэтому, в первую очередь, в csv файле в десятичных дробных числах вместо запятой должна стоять точка. В противном случае интерпретатор не сможет запустить код, или запустит его с ошибкой т к не будет

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

Итак, у нас есть некий csv файл, с данными о гранулометрических характеристиках массива горных пород. Данные из него в табличном виде представлены в оригинальной статье.

В коде эти данные присутствуют в виде url: https://sergsergius.ru/wp-content/uploads/asgarosforum/50/11.csv

По умолчанию питон работает с кодировкой UTF-8 и не может считывать цифры с разделителем “,”. Поэтому, в первую очередь, в csv файле в десятичных дробных числах вместо запятой должна стоять точка. В противном случае интерпретатор не сможет запустить код, или запустит его с ошибкой т к не будет считать эти данные как цифры.

Сам csv файл лучше всего редактировать в обычном системном блокноте. На винде (Windows 10) я пробовал выставлять кодировку utf-8 через эксель и через notepad++. Обе программы кодируют с ошибками и в итоге при запуске кода вылетала ошибка считывания. Обычный-же блокнот кодирует без проблем.

Кроме того, неплохо в коде, в параметрах считывания файла, прописать параметр знака-разделителя. В моем случае разделитель (delimiter) равен “;”.

Параметр index_col=0 и parse_dates=True, подразумевает, что первый или нулевой столбец является индексом таблицы.

Далее нам необходимо на графике представить конкретные данные по оси x и y. Эти данные соответствуют столбцам “Верхняя граница класса крупности, мм” для x и “Содержание, %” для y. Записываем это в параметрах fig.plot.

Еще один параметр, устанавливаемый по желанию — alpha, задающий степень прозрачности цветного отображения графика. Его значение варьируется от 0 до 1, где 0 — полностью прозрачный объект.

Получилось весьма прозрачное отображение.

Осталось только пометить названия оси абсцисс и ординат:

Ну, собственно, даем команду отображения и график готов.

-2

Код текстовый доступен по ссылке: https://sergsergius.ru/%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d1%81%d1%82%d1%80%d0%be%d0%b8%d1%82%d1%8c-%d0%b3%d1%80%d0%b0%d1%84%d0%b8%d0%ba-%d0%b8%d0%b7-csv-%d1%84%d0%b0%d0%b9%d0%bb%d0%b0-%d0%bd%d0%b0-python/